1-5-43:质因数分解

总时间限制: 
1000ms
 
内存限制: 
65536kB
描述

已知正整数 n 是两个不同的质数的乘积,试求出较大的那个质数。

输入
输入只有一行,包含一个正整数 n。

对于60%的数据,6 ≤ n ≤ 1000。
对于100%的数据,6 ≤ n ≤ 2*10^9。
输出
输出只有一行,包含一个正整数 p,即较大的那个质数。
样例输入
21
样例输出
7
 1 #include<stdio.h>
 2 #include<math.h>
 3 int main()
 4 {
 5     int n;
 6     int i,j,t,a=0;
 7     scanf("%d",&n);
 8     for(i=2;i<=sqrt(n+1);i++)
 9     {
10         if(n%i==0)
11         {
12             j=n/i;
13             for(t=2;t<=sqrt(j+1);t++)
14                 if(j%t==0)
15                     break;
16             if((t==sqrt(j+1))&&(j%t!=0))
17                 a=1;
18         }
19         if(a==1)
20             break;
21     }
22     printf("%d\n",j);
23     return 0;
24 }

 

posted @ 2016-09-03 15:34  木樨  阅读(1649)  评论(0编辑  收藏  举报