PAT1015_C/C++_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > C/C++ > PAT1015

PAT1015

 2016/8/4 5:32:51  iamH  程序员俱乐部  我要评论(0)
  • 摘要:1015.ReversiblePrimes(20)Areversibleprimeinanynumbersystemisaprimewhose"reverse"inthatnumbersystemisalsoaprime.Forexampleinthedecimalsystem73isareversibleprimebecauseitsreverse37isalsoaprime.NowgivenanytwopositiveintegersN(<105)andD(1<D<=10
  • 标签:
1015. Reversible Primes (20)
A reversible prime in any number system is a prime whose "reverse" in that number system is also a prime. For example in the decimal system 73 is a reversible prime because its reverse 37 is also a prime.

Now given any two positive integers N (< 105) and D (1 < D <= 10), you are supposed to tell if N is a reversible prime with radix D.

Input Specification:

The input file consists of several test cases. Each case occupies a line which contains two integers N and D. The input is finished by a negative N.

Output Specification:

For each test case, print in one line "Yes" if N is a reversible prime with radix D, or "No" if not.
Sample Input:

73 10
23 2
23 10
-2

Sample Output:

Yes
Yes
No



#include<iostream>
#include<stdio.h>
#include<math.h>
#include<stack>
using namespace std;
int prime(int n);
int reserver(int n, int d);
int main(){

    int n,d;
    while( cin>>n){
       if(n<0){
           break;
       }
            cin>>d;

   if(prime(n)==1 && prime(reserver(n,d))==1){
      cout<<"Yes"<<endl;
      }
      else{
           cout<<"No"<<endl;
      }
    }

     return 0;
}

int prime(int n){
    if(n==1){  //1不是素数
        return 0;
    }

    for(int i=2; i<=sqrt(n);i++){
        if(n%i==0){
            return 0;
        }
    }
     return 1;
}




int reserver(int n, int d){
    stack<int> s;
    int temp;
    while(n!=0){
            temp = n%d;
            s.push(temp);
            n=n/d;

    }
    int i=0,out=0;
    while(!s.empty()){
            temp=s.top();
            out=out+temp*pow(d,i);
            s.pop();
            i++;
    }
    return out;



}


上一篇: PAT1008 下一篇: PAT1027
  • 相关文章
发表评论
用户名: 匿名