1202: 诡秘的余数
Time Limit: 1 Sec Memory Limit: 128 MBHardLevel: 1 Submit: 17 Solved: 4
[ Submit][ Status][ Web Board]
Description
不可否认,小强是一名数学天才,大家都这么说。天才小强的两大最新发现如下:(1) 正整数n除3的余数,等价于,正整数n的各位数字之和除3的余数;(2) 正整数n除9的余数可以通过这样的方法来计算:计算n 的各位数之和,设为m,如果m已经是一位数,那么余数就是m;否则设n=m,重新进行计算n的各位数之和m,直到m是一个一位数。但是,正整数除1,2,4,5,6,7,8,也存在类似的性质吗?这真是一个难题啊!小强想睡觉了,不去管了。现在请你计算一下正整数n除一位数m的余数。文件中有一些数对,一为大整数(可能大到100位)n,另一为一位数m(>0)。求其n除以m的余数。
Input
Output
Sample Input
23 7
123 9
Sample Output
2
6
HINT
由于题上没说n是多大,所以n只能由字符串输入;
这题是一道大数取余的题,咱们可以按照大数的除法来写。
比如 123%9 可以先1%9 再拿余数*10+2%9, 再用上一个余数*10+3%9 依次把每一个数都算一边,最终的余数就是答案。
下面给出C的代码:
#include<stdio.h>
#include<string.h>
int
main()
{
int
m,t;
int
i,l;
char
ch[101];
while
(
scanf
(
"%s%*c%d"
,ch,&m)!=EOF)
{
l=
strlen
(ch);
t=(ch[0]-
'0'
)%m;
for
(i=1;i<l;i++)
{
t=(t*10+ch[i]-
'0'
)%m;
}
printf
(
"%d"
,t);
printf
(
"\n"
);
}
}