一个数n的最大质因子

 

 

 1 #include<cstdio>

 2 #include<cmath>

 3 using namespace std;

 4 

 5 #define Max(x, y) (x > y ? x : y)

 6 

 7 int main()

 8 {

 9     int n, m;

10     while(~scanf("%d",&n)) //1没有最大质因子

11     {

12         int tn = n;

13         int mx = -1;

14         for(int i=2; i*i<=n; i++)

15         {

16             if(n%i==0)

17             {

18                 mx = Max(mx, i);

19                 while(n%i==0) n /= i;

20             }

21         }

22         mx = Max(mx, n);

23         printf("%d\n",mx);

24     }

25     return 0;

26 }

 

你可能感兴趣的:(一个数n的最大质因子)