PAT A1015


通常の素数判断と言える.
唯一注意しなければならないのは、この点を繰り返し読み込むことです.
この文は実は最後まで読み込まれ、ファイルにはバッファ読み取りが完了したことが示されています.ここでは神馬の入力が完了したと判断することができます.
ここではやはり判別関数の中で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