九的余数

来源:互联网 发布:pdf reader mac 编辑:程序博客网 时间:2024/05/17 07:54

九的余数

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

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

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

#include<stdio.h>

#include<string.h>
char s[1000010];
int main()
{
    int m,sum,i,l;
    scanf("%d",&m);
    while(m--)
    {
        sum=0;
        scanf("%s",s);
        l=strlen(s);
        for(i=l-1;i>=0;i--)
        {
           sum+=((s[i]-'0')%9);
        }
        printf("%d\n",sum%9);
    }
    return 0;
}
这题的关键在于:n整除9之后的余数等价于n数中个,十,百....位上的数相加和对9的余数。
如:122对9的余数=5,等价于1+2+2=5,然后5对9的余数


原创粉丝点击