题目:判断一个数是否能被11整除。
分析:大整数,模拟。直接模拟除法运算判断余数即可。
说明:╮(╯▽╰)╭。
#include <algorithm> #include <iostream> #include <cstdlib> #include <cstring> #include <cstdio> #include <cmath> using namespace std; char buf[1001]; int value[1001]; int main() { while (~scanf("%s",buf)) { if (buf[0] == '0' && !buf[1]) break; int len = strlen(buf); for (int i = 0 ; buf[i] ; ++ i) value[i] = buf[len-1-i]-'0'; for (int i = len-1 ; i > 0 ; -- i) { value[i-1] += value[i]%11*10; value[i] %= 11; } printf("%s is ",buf); if (value[0]%11) printf("not "); printf("a multiple of 11.\n"); } return 0; }
原文:http://blog.csdn.net/mobius_strip/article/details/44586763