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

  

猜你喜欢

转载自www.cnblogs.com/gcyyzf/p/9748661.html