- 总时间限制:
- 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 ",j); 23 return 0; 24 }