nyoj105 九的余数

 

九的余数

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

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

 
输入
第一行有一个整数m(1<=m<=8),表示有m组测试数据;
随后m行每行有一个自然数n。
输出
输出n整除九之后的余数,每次输出占一行。
样例输入
3
4
5
465456541
样例输出
4
5
4
算法分析:这个题目有个规律,(a*10^b)%9==(a%9)*(10^b%9)%9==(a%9)*1%9==a%9
View Code
 1 #include<iostream>
2 #include<cstring>
3 #define N 1000010
4
5 using namespace std;
6
7 char a[N];
8
9 int main()
10 {
11 int test,i,sum,len;
12 cin>>test;
13 while(test--)
14 {
15 sum=0;
16 cin>>a;
17 len=strlen(a);
18 for(i=0;i<len;i++)
19 sum+=(a[i]-'0');
20 cout<<sum%9<<endl;
21 }
22 return 0;
23 }
posted @ 2012-03-22 13:54  mtry  阅读(379)  评论(0编辑  收藏  举报