回复 10楼 czz5242199
											嗯,确实错了,想当然了,多谢曹哥点醒还以为不会有超过 sqrt(n)的质因数
 
										
					
	
[fly]存在即是合理[/fly]
 2013-03-26 13:32
	    2013-03-26 13:32
   程序代码:
程序代码:#include <stdio.h>
#include <math.h>
int main()
{
    __int64 i = 3, n, temp, a;
    temp = n = 600851475143;
    while (1)
    {
        a = (__int64)sqrt((double)temp);
        for (;i <= a;i += 2)
            if (temp % i == 0)
                break;
        if (i > a)
        {
            printf("%I64d = %I64d\n", temp, n);
            break;
        }
        printf("%I64d * ", i);
        temp /= i;
    }
    return 0;
}										
					
	
 2013-03-26 13:47
	    2013-03-26 13:47