2.2.2 分解质因数指数形式 对;输入的整数分解质因数,如果有相同的素因子要求写成指数形式,例如分解1960,写成1960=23*5*72 算法分析如下: 在以上程序的基础上,需作一些变通:引入变量j统计素因子的个数,j=1时不打印指数,j>1时需加印指数(^j)。这样程序须设置相应指数的判别操作。 程序代码如下: 程序运行结果如下: #include #include 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 if(b==i){printf("(素数!)"). w .} printf("\n"). } printf("其中共%ld个素数.\n",w). } 程序运行结果如下:
| |