进制转换+低范围素数判定
///1015
#include<bits/stdc++.h>
using namespace std;
int zhuanhuan1(int n,int d)
{
string s;
while(n){
int t=n%d;
char c=t+'0';
s+=c;
n/=d;
}
int len=s.length();
int ans=0;
for(int i=0;i<len;i++){
ans=ans*d+(s[i]-'0');
}
return ans;
}
int is_prime(int n){
if(n==1)return 0;
if(n==2)return 1;
for(int i=2;i*i<=n;i++){
if(n%i==0)return 0;
}
return 1;
}
int main()
{
int n,d;
while(cin>>n)
{
if(n<=0)break;
cin>>d;
int n2=zhuanhuan1(n,d);
if(is_prime(n)&&is_prime(n2))cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
return 0;
}
本文介绍了一个程序,该程序能够将一个十进制数转换为任意指定进制,并判断原始数及其转换后的数是否均为素数。通过两种主要功能:进制转换函数和素数检查函数来实现。
2666

被折叠的 条评论
为什么被折叠?



