|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
班门弄斧 不足之处恳请指出
- #include<stdio.h>
- #include<math.h>
- #define max 100
- int main(void)
- {
- int i,j,k,len,n = 0;
- int a[max] = {0};
- int b[max] = {0};
- for(i = 100;i < 200;i++)
- {
- j = sqrt(i);
- for(k = 2;k <= j;k++)
- {
- if(i % k == 0)
- break;
- }
- if( k != j + 1) //判定是否是合数
- {
- a[n++] = i;
- }
-
- }
- len = sizeof(a) / sizeof(a[0]);
-
- for(i = 0;i < len && a[i] != 0;i ++)
- {
- k = 0; //重置公因子数组 !很重要 很重要 很重要!
- putchar('\n');
- printf("%d = 1",a[i]);//打印表达式头部
- while(a[i] > 1)
- {
- for(j = 2;j <= a[i];j ++)
- {
-
- if(a[i] % j == 0)
- {
- b[k++] = j; //数组存储各个质数公因子
- a[i] /= j;
- j = 1; //重置最小公因子
-
- }
-
- b[k] = 0;
-
- }
-
- }
- for(n = 0;b[n] != '\0';n++)
- printf(" * %d",b[n]); //打印表达式尾部
-
-
- }
- return 0;
-
- }
复制代码 |
|