题目:判断一个数是否能被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;
}

本文介绍了一种通过直接模拟除法运算来判断大整数是否能被11整除的方法。通过字符数组存储输入整数并进行逐位操作,实现了对整数进行模11运算,最终判断其是否为11的倍数。
547

被折叠的 条评论
为什么被折叠?



