C趣味程序(二)(08)分解质因数指数形式
来源:优易学  2010-1-14 12:12:27   【优易学:中国教育考试门户网】   资料下载   IT书店
2.2.2 分解质因数指数形式
    对;输入的整数分解质因数,如果有相同的素因子要求写成指数形式,例如分解1960,写成1960=23*5*72
算法分析如下:
    在以上程序的基础上,需作一些变通:引入变量j统计素因子的个数,j=1时不打印指数,j>1时需加印指数(^j)。这样程序须设置相应指数的判别操作。
程序代码如下:
程序运行结果如下:
#include<stdio.h>
#include<math.h>
void main()
{
    long int b,i,j,k,m,n,w=0;
    printf("m--n中整数分解.\n");
    printf("请输入m,n:");
    scanf("%ld,%ld",&m,&n);
    for(i=m;i<=n;i++)
    {
        printf("%ld= ",i);
        b=i;k=2;j=0;
        while(k<=sqrt(i))
        {
            if(b%k==0)
            {
                b=b/k;j++;continue;}
                if(j>=1)
                {
                    printf("%ld",k);
                    if(j>1)printf("^%ld",j);
                    if(b>1)printf("*");
                }
                k++;j=0;
            }
            if(b>1&&b<i) printf("%ld",b);
            if(b==i){printf("(素数!)"); w++;}
            printf("\n");
        }
        printf("其中共%ld个素数.\n",w);
}
程序运行结果如下:

责任编辑:cyth

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训