PAT A1015
通常の素数判断と言える.
唯一注意しなければならないのは、この点を繰り返し読み込むことです.
この文は実は最後まで読み込まれ、ファイルにはバッファ読み取りが完了したことが示されています.ここでは神馬の入力が完了したと判断することができます.
ここではやはり判別関数の中で2つの点に注意しなければならない:第一に、注意、0、1は素数ではない;第二:判別区間は2~sqrt(n)、閉区間であるべきである
唯一注意しなければならないのは、この点を繰り返し読み込むことです.
この文は実は最後まで読み込まれ、ファイルにはバッファ読み取りが完了したことが示されています.ここでは神馬の入力が完了したと判断することができます.
ここではやはり判別関数の中で2つの点に注意しなければならない:第一に、注意、0、1は素数ではない;第二:判別区間は2~sqrt(n)、閉区間であるべきである
#include
#include
#include
#include
#include
using namespace std;
bool isPrime(int n){
if(n<=1)
return false;
int sqr=(int)sqrt(1.0*n);
for(int i=2;i<=sqr;i++){
if(n%i==0)
return false;
}
return true;
}
int d[111];
int main(){
int n,radix;
while(scanf("%d",&n)!=EOF){
//
if(n<0)
break;
scanf("%d",&radix);
if(isPrime(n)==false){
printf("No
");
}else{
int index=0;
while(n!=0){
d[index++]=n%radix;
n=n/radix;
}
for(int i=0;i