【发布时间】:2010-08-12 16:30:12
【问题描述】:
我正在解决一个难题,我需要找到用户输入的合数的最大素因数。 我想到了一些东西并尝试了它,但是它无法检测到合数因子中最大的素因子。
我在下面附加我的代码,如果有人能在这里帮助我检测最大的素数,我将不胜感激。在这些因素中并打印出来。
// 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);
}
【问题讨论】:
-
我不明白。做这样的谜题的目的是让你获得编写代码来解决问题的技能。让别人去做是完全没有意义的。
标签: c numbers primes composite