zju 1154 NIVEN NUMBER

哈沙德数 - 介绍

若一个数无论在任何进位制中都是哈沙德数,称为全哈沙德数(全尼云数)。只有四个全哈沙德数:1, 2, 4, 6。

所有在零和进位制的底数之间的数都是哈沙德数。

除非是个位数,否则素数不是哈沙德数。

在十进制中,100以内的哈沙德数: 10, 12, 18, 20, 24, 27, 30, 36, 40, 42, 45, 48, 50, 54, 60, 63, 70, 72, 80, 81, 84, 90, 100 ...

#include<cstdio>

#include<cstdlib>

#include<cmath>

#include<cstring>

int main()

{

int n,ans1,ans2,tcase,b,len,i;

char a[100];

while(scanf("%d",&tcase)==1)

{

while(tcase--)

{



while(scanf("%d",&b)&&b)

{

scanf("%s",a);

len=strlen(a);    

ans1=0;

ans2=0;

for(i=0;i<len;i++)

{

ans1+=a[i]-'0';

ans2=ans2*b+a[i]-'0';

}

if(ans2%ans1==0)

printf("yes\n");

else printf("no\n");





}

if(tcase)

printf("\n");

}



}



}

 

 

你可能感兴趣的:(number)