POJ 2386

增加一个判素数的步骤就过了。太囧了。。

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cmath>
 4 using namespace std;
 5 
 6 int k;
 7 
 8 int main(){
 9     while(scanf("%d",&k)!=EOF){
10         int q=sqrt(k*1.0);
11         q++;
12         bool flag=false;
13         for(int l=2;l<=q;l++)
14         if(k%l==0){
15             flag=true;
16             break;
17         }
18         if(!flag)
19         printf("%d\n",k-1);
20         else{
21             for(int l=3;l<=k;l++)
22             if(k%l==0){
23                 printf("%d\n",l-1);
24                 break;
25             }
26         }
27     }
28     return 0;
29 }
View Code

 

posted @ 2014-06-24 17:04  chenjunjie1994  阅读(129)  评论(0编辑  收藏  举报