mirror of
https://github.com/xlucn/PAT.git
synced 2026-08-18 01:18:40 +08:00
merge branches
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
/**
|
||||
* 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 <stdio.h>
|
||||
|
||||
int iPrime(int N)
|
||||
{
|
||||
if(N == 0 || N == 1)
|
||||
return 0;
|
||||
for(int i = 2; i * i <= N; i++)
|
||||
if(N % i == 0)
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
int Rev(int N, int D)
|
||||
{
|
||||
int Nrev;
|
||||
for(Nrev = 0; N; N /= D)
|
||||
{
|
||||
Nrev *= D;
|
||||
Nrev += N % D;
|
||||
}
|
||||
return Nrev;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
int N, D;
|
||||
scanf("%d", &N);
|
||||
while(N >= 0)
|
||||
{
|
||||
scanf("%d", &D);
|
||||
puts(iPrime(N) && iPrime(Rev(N, D)) ? "Yes" : "No");
|
||||
scanf("%d", &N);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -6,8 +6,6 @@
|
||||
|
||||
欢迎讨论 oliver_lew@outlook.com
|
||||
|
||||
(PAT B已经刷完1001-1080,PAT A刚刚开始)
|
||||
|
||||
* 简书中写了代码的解释
|
||||
* [PAT Basic](https://www.patest.cn/contests/pat-b-practise): http://www.jianshu.com/p/c2b557516b50
|
||||
* [PAT Advanced](https://www.patest.cn/contests/pat-a-practise): http://www.jianshu.com/p/8944b15f8194
|
||||
* [PAT Basic](https://www.patest.cn/contests/pat-b-practise) (已经刷完1001-1080): http://www.jianshu.com/p/c2b557516b50
|
||||
* [PAT Advanced](https://www.patest.cn/contests/pat-a-practise) (刚刚开始): http://www.jianshu.com/p/8944b15f8194
|
||||
|
||||
Reference in New Issue
Block a user