对于一个整数x,记x的自右向左的各位分别为第1位,第2位,……如果x奇数位上的数字之和减去偶数位上的数字之和所得的结果能被11整除,那么x就能被11整除。
题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1266
对于一个整数x,记x的自右向左的各位分别为第1位,第2位,……如果x奇数位上的数字之和减去偶数位上的数字之和所得的结果能被11整除,那么x就能被11整除。
输入数据的第一行包含一个整数T (1 <= T <= 200),表示接下来一共有T组测试数据。
每组测试数据占一行,包含一个位数不超过100位的正整数x。
对于每组测试数据,如果x能被11整除,输出“Yes”(不包括引号),否则输出“No”(不包括引号)。
3
111
1969
11111111111111111111
No
Yes
Yes
代码如下:
#include <cstdio> #include <algorithm> using namespace std; int main() { int t; char s[217]; scanf("%d",&t); while(t--) { scanf("%s",s); int ji=0,ou=0; for(int i=0; s[i]; i++) { if(i&1) ji+=s[i]-'0'; else ou+=s[i]-'0'; } if((ji-ou)%11==0) printf("Yes\n"); else printf("No\n"); } return 0; }
CSU 1266: Divisible by 11 (数学啊 )
原文地址:http://blog.csdn.net/u012860063/article/details/41849739