1015 Reversible Primes (20分)

应该是比较简单的吧...知识点有素数判断,进制转换。还有本题特别的输入和输出手法(while...!=EOF)
1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 bool isPrime(int x){ 5 if(x<=1) 6 return false; 7 for(int i=2;i<x;i++) 8 if(x%i==0) 9 return false; 10 return true; 11 } 12 int main(){ 13 int num,base,len=0; 14 int d[110]; 15 while(scanf("%d%d",&num,&base)!=EOF){ 16 if(num<0) break; 17 if(isPrime(num)){ 18 len=0; 19 while(num!=0) 20 {d[len++]=num%base; 21 num=num/base; 22 } 23 int sum=0,temp=1; 24 for(int i=len-1;i>=0;i--){ 25 sum=d[i]*temp+sum; 26 temp=temp*base; 27 } 28 if(isPrime(sum)) 29 printf("%s\n","Yes"); 30 else 31 printf("%s\n","No"); 32 } 33 else 34 printf("%s\n","No"); 35 } 36 37 return 0; 38 }

浙公网安备 33010602011771号