PAT (Advanced) 1015. Reversible Primes (20)

来源:互联网 发布:天纵国际软件 编辑:程序博客网 时间:2024/05/14 12:11

原题:1015. Reversible Primes (20)



解题思路:

按题意逆置数字,再判断两个数是否都为素数即可。



C++代码如下:

#include<cstdio>int num[30];int reverseNum(int n, int radix){    int cnt = 0;    while(n > 0)    {        num[cnt++] = n % radix;        n /= radix;    }    int ans = 0;    for(int i = 0; i < cnt; i++)        ans = ans * radix + num[i];    return ans;}bool isPrime(int n){    if(n < 2)        return false;    for(int i = 2; i * i <= n; i++)        if(n % i == 0)            return false;    return true;}int main(){    int n, radix;    while(scanf("%d", &n) != EOF)    {        if(n < 0)            break;        scanf("%d", &radix);        int ans = reverseNum(n, radix);        if(isPrime(ans) && isPrime(n))            printf("Yes\n");        else            printf("No\n");    }    return 0;}


原创粉丝点击