HOJ 1014 Niven Numbers
一道暴力题
提醒一下数据范围是1000000;
#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; const int MAXN=1000000; inline int read(){ int x=0,f=1,ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f; } char s[MAXN]; int main(){ int base=read(); while(base){ scanf("%s",s); int len=strlen(s); int sum=0; for(int i=0;i<len;i++) sum+=s[i]-'0'; int ans=0; for(int i=0;i<len;i++) ans=(ans*base+s[i]-'0')%sum; if(ans) puts("no"); else puts("yes"); base=read(); } return 0; }