C趣味程序(二)(08)分解质因数指数形式 |
|
www.nanhushi.com 佚名 不详 |
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); } 程序运行结果如下:

| |
|
|
|
|
文章录入:杜斌 责任编辑:杜斌 |
|
上一篇文章: C趣味程序(二)(07)求多个整数的最大公约数与最小公倍数 下一篇文章: C趣味程序(二)(08)分解质因数乘积形式 |
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|