九的余数

来源:互联网 发布:北京银行学知支行电话 编辑:程序博客网 时间:2024/04/28 21:09

九的余数

时间限制:3000 ms  |  内存限制:65535 KB
难度:3
描述

现在给你一个自然数n,它的位数小于等于一百万,现在你要做的就是求出这个数整除九之后的余数。

输入
第一行有一个整数m(1<=m<=8),表示有m组测试数据;
随后m行每行有一个自然数n。
输出
输出n整除九之后的余数,每次输出占一行。
样例输入
345465456541
样例输出
454

思路:(a * b) % 9 = (a % 9) * (b % 9);又有,如123%9 = (1 *100) % 9 + (2 *10) % 9 + (3 % 9),因为10的倍数 % 9 都是1,所以表达式的值就等于各位数上对应的数字% 9

的和。所以一个多位数% 9 的值就等于各位数字相加之和% 9 的值。


#include<stdio.h>int main(){int i, m, n, sum, temp;    char a[1000010];scanf("%d", &m);while(m--){scanf("%s", a);sum = 0;for(i = 0; a[i]; i++){temp = a[i] - '0';sum += temp; }printf("%d\n", sum % 9);}return 0;}


0 0
原创粉丝点击