我正在解决一个难题,我需要找到用户输入的合数的最大素因子。我想到了一些东西并尝试了它,但它无法检测到合数因子中最大的素因子。
我在下面附加了我的代码,如果有人能在这里帮助我检测最大的素数,我将不胜感激。在这些因素中并打印出来。
// 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);
}