PAT 1015

来源:互联网 发布:m1协同软件 编辑:程序博客网 时间:2024/05/18 01:01

思路:进制转换和质数判断

#include<iostream>#include<string>#include<algorithm>#include<string.h>using namespace std;#define MAX 2005int isprime(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 main() {int D, N,n, i, j,cnt;int a[MAX];while (scanf("%d", &N)) {if (N < 0) {break;}scanf("%d", &D);n = N;cnt = 0;while (N) {a[cnt++] = N%D;N /= D;}int ans = 0;for (i = cnt - 1; i >= 0; i--) {int temp = 1;for (j = 0; j<cnt - 1 - i; j++) {temp = temp*D;}ans = ans + a[i] * temp;}if (isprime(n)&&isprime(ans)) {printf("Yes\n");}else {printf("No\n");}}return 0;}


0 0
原创粉丝点击