您的位置:首页 > 其它

周赛(1)——素数

2013-01-19 14:19 197 查看
http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=1445&cid=1127

#include "iostream"
#include "cmath"
using namespace std;
bool isprime(int n)
{
if (2==n)
return true;
else if(0>n) return false;
int i;
for (i=2;i<=sqrt(n);++i)
{
if(0==n%i)
return false;
}
return true;
}
int main()
{
int n;
int backing;
while(cin>>n&&n!=0)
{
{
if(n<10&&n>0) backing=n;
if(n>=10&&n<100) backing=n/10+10*(n%10);
if(n>=100&&n<1000) backing=n/100+100*(n%10)+(n%100-n%10);
if(n>=1000&&n<10000) backing=n/1000+10*(n%100-n%10)+(n%1000-n%100)/10+1000*(n%10);
}
if(n==1)cout<<"False"<<endl;
else if(isprime(n)&&isprime(backing)) cout<<"True"<<endl;
else if(!(isprime(n)&&isprime(backing))) cout<<"False"<<endl;
else if(n<0) cout<<"False"<<endl;
}
}


说实话这个逆置的方法实在是笨的可以。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: