找个好久也没找到原题出自哪里
所以只好用这种形式来命名啦~
因为感觉这题还是有说的必要的
挺有意思
这里的关键在于对N的限制条件
很明显这是个相对大的数字
所以还是要用字符串模拟
然后判定能否被235整除时也有了简便的判定方法
首先是2和5的判断
只需判断字符串的最后一个
也就是数字的最后一位即可
不过对于3 我还是没想到什么更好的判定
用了那个 各个数字之和能被3整除
则这个数能被3整除那个定理
#include<stdio.h>
#include<string.h>
int main() {
char s[100];
int l,i;
__int64 m;
while(scanf("%s",s)!=EOF) {
l=strlen(s);
if((s[l-1]-'0')%2==0)
printf("YES\n");
else if(s[l-1]=='0'||s[l-1]=='5')
printf("YES\n");
else {
for(i=m=0; i<l; i++) {
m=m+s[i]-'0';
}
if(m%3==0)
printf("YES\n");
else
printf("NO\n");
}
}
return 0;
}
不知道题目地址能不能进去……
学长也不告诉题目出处……
-.-
太不体贴了
题目地址:【杭电】[0000]整除235
(密码 hpuacm 不过也许不能上传代码了……毕竟时间过好久了)