[code] PTA 胡凡算法笔记 DAY047
Posted wait_for_that_day5
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[code] PTA 胡凡算法笔记 DAY047相关的知识,希望对你有一定的参考价值。
文章目录
题目 A1015 Reversible Primes
-
题意
输入数字N,D
,如果数字N
是素数并且按进制D
反转后的数字也是素数,则输出Yes
,否则输出No
。当输入N
为负数时,停止操作。 -
思路
首先肯定是要写一个判断是否为素数的函数,然后就是将数字按给定的进制进行反转然后求出其在10
进制下的和。在进行进制转换时,很自然的求出来的就是反转的值,所以可以直接将反转和求10
进制的值一起进行。 -
Code in C++
#include <cstdio>
#include <cmath>
bool isPrime(int num)
if (num <= 1) return false;
for (int i = 2; i <= std::sqrt(num); ++i)
if (num % i == 0) return false;
return true;
// 按radix进制将num反转,输出10进制的值
int rever(int num, int radix)
int result = 0;
while(num)
result = result * radix + num % radix;
num /= radix;
return result;
int main()
int n, d;
while (1)
scanf("%d", &n);
if (n < 0) break;
scanf("%d", &d);
if (isPrime(n) && isPrime(rever(n, d)))
printf("Yes\\n");
else
printf("No\\n");
return 0;
小结
在判断是否为素数之前又加入了,将数字进行按进制翻转的操作。基本都是简单操作。
以上是关于[code] PTA 胡凡算法笔记 DAY047的主要内容,如果未能解决你的问题,请参考以下文章