对于一个整数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