您的位置:首页 > 其它

NYOJ 105 九的余数

2014-07-27 11:56 405 查看

/*九的余数 (求模公式)

时间限制:3000 ms | 内存限制:65535 KB

难度:3

描述

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

输入

第一行有一个整数m(1<=m<=8),表示有m组测试数据;

随后m行每行有一个自然数n。

输出

输出n整除九之后的余数,每次输出占一行。

样例输入

3

4

5

465456541样例输出

4

5

4*/

/*

解题思路:应用求模公式

(A X B) % m = ((A % m) X (B % m))%m

(A + B) % m = ((A % m) + (B % m))%m

(A - B) % m = ((A % m) - (B % m))%m

这里九具有特殊性,例如40000 = 【(4%9)*(10000%9)】%9

显然 10000%9为1.每位均可如此 。



*/

#include<cstdio>
#include<cstring>
int main()

{
    char a[1000002];
    int i,m,s,len;
    scanf("%d",&m);
    while(m--)

    {
        scanf("%s",a);
        len=strlen(a);
        for(i=0,s=0; i<len; i++)
        s+=(a[i]-'0')%9%9;
        printf("%d\n",s%9);
    }
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: