欧拉计划之题目3:找出一个合数的最大质数因子。
本题来自:http://pe.spiritzhang.com/index.php/2011-05-11-09-44-54/4-3
1 #include <stdio.h> 2 #include <math.h> 3 void MaxPrime(unsigned long long int n) 4 { 5 unsigned long long i; 6 for(i=2;i<=sqrt(n);i++) 7 { 8 while(n!=i) 9 if(n%i==0) 10 n=n/i; 11 else 12 break; 13 } 14 printf(" The Biggest Prime is %lld\n",n); 15 } 16 17 void main() 18 { 19 unsigned long long a,b; 20 a=13195,b=600851475143; 21 MaxPrime(a); 22 MaxPrime(b); 23 }
linux下:
如果在linux下gcc编译,因为包含math.h,所以使用-lm,即gcc -lm “文件名”。
long long 使用gcc -std=c99 "文件名"。
Windows下不存在这些问题,但是long long有些编译器没有。