九的余数
时间限制:
3000 ms | 内存限制:
65535 KB
难度:
3
-
描述
-
现在给你一个自然数n,它的位数小于等于一百万,现在你要做的就是求出这个数整除九之后的余数。
-
输入
-
第一行有一个整数m(1<=m<=8),表示有m组测试数据;
随后m行每行有一个自然数n。
输出
- 输出n整除九之后的余数,每次输出占一行。 样例输入
-
3 4 5 465456541
样例输出
-
4 5 4
来源
- [苗栋栋]原创 上传者
思路:
利用9的特性, 每隔十个数(0-9)的余数相等, 例如 123456789 % 9 == (1+2+3+4+5+6+7+8+9) % 9;
代码:
#include <stdio.h> #include <string.h> #define N 1000010 int main() { int n; scanf("%d", &n); while(n --){ char a[N]; scanf("%s", a); int length = strlen(a); for(int i = 0; i < length; i ++){ a[i] -= '0'; if(a[i] >= 9) a[i] %= 9; a[i+1] += a[i]; } printf("%d\n", a[length - 1]); } return 0; }
-
第一行有一个整数m(1<=m<=8),表示有m组测试数据;
本文介绍了一道算法题目——求自然数除以九的余数。通过输入多个自然数,利用9的特性简化计算过程,实现快速求解。文章提供了完整的C语言代码示例。
1940

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



