题解:UVA12802 Gift From the Gods
Mitchell_Dracula · · 题解
题意
输入一个数
如果
思路
暴力出奇迹,骗分过样例。
一道暴力题。
输出自然简单。(就是输出两倍而已),重要的是判断它是否是回文质数。
质数判断很简单,不过注意,只能枚举到
判断回文数就是把这个数倒过来,判断与原数是否相等。
具体的就看代码吧。
代码
#include<bits/stdc++.h>
using namespace std;
int a;
bool check_prime(int x){//判断素数,模版
if(x<=1)return false;
for(int i=2;i<=sqrt(x);i++)if(x%i==0)return false;
return true;
}
bool check_huiwen(int x){//判断回文
int x1=0,bf=x;
while(bf){//升位组数
x1+=bf%10;
bf/=10;
x1*=10;
}
return (x1==x);
}
int main(){
while(true){
scanf("%d",&a);//输入
printf("%d\n",a*2);//注意要先输出
if(check_prime(a)&&check_huiwen(a))break;//判断结束条件
}
return 0;
}