【杭电】[0000]整除235

这里写图片描述

找个好久也没找到原题出自哪里
所以只好用这种形式来命名啦~

因为感觉这题还是有说的必要的
挺有意思

这里的关键在于对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 不过也许不能上传代码了……毕竟时间过好久了)

原文地址:https://www.cnblogs.com/BoilTask/p/12569961.html