希望高手给个算法,程序源代码最好。(代码中请不用数组、指针、函数、单链表!) 谢谢。我想了一天、没想出来。主要是有限制。题目是这样的: 求2--100之间每个整数的质因子并输出每个质因子。 (质因子就是质数的因子,也称质因数或质约数。 255的因子有1 、3、5、15、17、51、85、255。其中是质数的是1、3、5、17 所以255的质因子就是1、3、5、17。所以最大质因子是17。55不是255的因子,也不是质数质数,又叫“素数”)
谢谢斑竹。是的,不用数组。可是这样好象有点繁琐。具体我该如何我如何求得一个数的质因子呢?可不可以写点类似的核心代码,如何得到这个数的质因子。
#include<stdio.h>int main(){ int i,j,t,flag; for(i=2;i<=100;i++) { printf("%3d 的质因子:",i); for(j=2;j<=i;j++) { if(i%j==0) { flag=1; t=2; while(t*t<=j) { if(j%t==0) { flag=0; break; } t++; } if(flag) printf("%5d",j); } } printf("\n"); } return 0;
}注意:1不是质数
希望高手给个算法,程序源代码最好。(代码中请不用数组、指针、函数、单链表!) 谢谢。我想了一天、没想出来。主要是有限制。题目是这样的: 求2--100之间每个整数的质因子并输出每个质因子。(质因子就是质数的因子,也称质因数或质约数。 255的因子有1 、3、5、15、17、51、85、255。其中是质数的是1、3、5、17 所以255的质因子就是1、3、5、17。所以最大质因子是17。55不是255的因子,也不是质数质数,又叫“素数”)
你题目中把1也当成质数
太感谢斑竹了!!这么快就写出来了。 谢谢!向你看齐。恩,1不是质数