我正在解决一个难题,其中我需要查找用户输入的复合数字的最大素数因子。 我想到了一些东西,并试用过它,但它无法检测到复合数字因素中最大的主要因素。在C中打印复合数字的最大素数因子
我在下面追加我的代码,如果有人能帮我找到最大的素数,我会很感激。其中的因素和打印它。
// Accept a composite number from user and print its largest prime factor.
#include<stdio.h>
void main()
{
int i,j,b=2,c;
printf("\nEnter a composite number: ");
scanf("%d", &c);
printf("Factors: ");
for(i=1; i<=c/2; i++)
{
if(c%i==0)
{
printf("%d ", i);
for(j=2; j<=i/2; j++) //since a numbr cand be divisible by a number greated than its half
{ if(i%j > 0)
b = i;
else if(i==3)
b = 3;
}
}
}
printf("%d\nLargest prime factor: %d\n", c, b);
}
我不明白。做这样的难题就是为了让你获得解决问题的技巧。让别人去做是完全没有意义的。 – 2010-08-12 17:27:14