首页 > 代码库 > UVa 11879 - Multiple of 17
UVa 11879 - Multiple of 17
题目:计算一个数是不是17的倍数。
说明:字符串,大数。简单题,直接判断即可。
设 n = 10a + d;(0 ≤ d ≤ 9)则
a - 5d = 51a - 5n,如果n被17整除,这个数必然也被17整除。
说明:题目给了个结论,不需要用,直接%17判断余数即可。
#include <iostream> #include <cstdlib> #include <cstring> #include <cstdio> using namespace std; char str[104]; int val[104]; int main() { while (~scanf("%s",str)) { if (strlen(str) == 1 && str[0] == '0') break; int len = strlen(str); for (int i = 0 ; i < len ; ++ i) val[i] = str[i]-'0'; val[len] = 0; for (int i = 0 ; i < len ; ++ i) val[i+1] += val[i]%17*10; if (val[len]) printf("0\n"); else printf("1\n"); } return 0; }
UVa 11879 - Multiple of 17
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。