给你一个数N(N<=10^100),让你判断是否能被11整除。。能整除输出YES,否则输出NO。
Sample Input
11
506
45
Sample Output
YES
YES
NO
思路:因为N是一个很大数,只有用char存成字符串,把奇数位上的数的和减去偶数位数的数如果能被11整除,则原数就能被11整除,否则不行。
上代码:
#include<iostream> #include<cstdio> #include<cstdlib> using namespace std; char a[1000001]; int main() { long long i,s1,s2; while(scanf("%s",a)!=EOF) { s1=s2=0; for(i=0;a[i]!='\0';i++) { if((i+1)%2!=0) s1+=(a[i]-'0'); else s2+=(a[i]-'0'); } if(abs(s1-s2)%11==0) printf("YES\n"); else printf("NO\n"); } }