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<cstdio> #include<cmath> bool isPrime(int n){ if(n <=1 ) return false; int sqr = (int)sqrt(1.0*n); for(int i = 2; i <= sqr; i++){ if(n%i == 0) return false; } return true; } int d[111]; int main(){ int n,radix; while(scanf("%d",&n) != EOF){ if(n < 0) break; scanf("%d",&radix); if(isPrime(n) == false){ printf("No\n"); }else{ int len = 0; while(n != 0){ d[len++] = n % radix; n /= radix; } for(int i = 0; i < len; i++){ n = n *radix + d[i]; } if(isPrime(n) == true) printf("Yes\n"); else printf("No\n"); } } return 0; }
//18.8.6 #include<cstdio> #include<cstring> #include<cmath> using namespace std; const int maxn = 100100; int n,radix,num[maxn]; bool isPrime(int x){ if(x <= 1) return false; //测试点2 int sqrx = sqrt(x); for(int i = 2; i <= sqrx; i++){ if(x%i == 0) return false; } return true; } int Reverse(int x,int radix){ int i = 0,ans = 0; do{ num[i++] = x % radix; x /= radix; }while(x != 0); for(int j = 0; j < i; j++){ ans = ans*radix + num[j]; } return ans; } int main(){ while(1){ memset(num,0,sizeof(num)); scanf("%d",&n); if(n < 0) break; else{ scanf("%d",&radix); int u = Reverse(n,radix); if(isPrime(n) && isPrime(u)){ printf("Yes\n"); }else printf("No\n"); } } return 0; }
分类:
PAT 甲级
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)