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");
}

}

}

 

原文地址:https://www.cnblogs.com/woaiyy/p/2520713.html