我正在解決一個難題,其中我需要查找用戶輸入的複合數字的最大素數因子。 我想到了一些東西,並試用過它,但它無法檢測到複合數字因素中最大的主要因素。在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