九的余数
时间限制:
3000 ms | 内存限制:
65535 KB
难度:
3
-
描述
-
现在给你一个自然数n,它的位数小于等于一百万,现在你要做的就是求出这个数整除九之后的余数。
-
输入
-
第一行有一个整数m(1<=m<=8),表示有m组测试数据;
随后m行每行有一个自然数n。
输出
- 输出n整除九之后的余数,每次输出占一行。 样例输入
-
3 4 5 465456541
样例输出
-
4 5 4
来源
- [苗栋栋]原创 上传者
-
苗栋栋
这一题,上百万位的数不能用求模公式,用到数学中的一个知识
————弃九法!同时也看出了获取此类字符串的区别!
用gets,cin.getline都会WA,用到scanf("%s",&s)会AC原因是字符
串太长了(很多行),gets,cin.getline只是得到一行#include<cstdio> #include<cstring> #include<iostream> using namespace std; #define X 1000005 int main() { int n,stl,i,sum; char s[X]; scanf("%d\n",&n); while(n--) { sum=0; scanf("%s",&s); // gets(s); // cin.getline(s,X); stl=strlen(s); for(i=0;i<stl;i++) { sum+=s[i]-48; } printf("%d\n",sum%9); } }
-
第一行有一个整数m(1<=m<=8),表示有m组测试数据;