迎使用信阳师范学院在线评测(Online Judge)平台!
2025: A*B Problem
时间限制: 1 Sec 内存限制: 64 MB
提交: 26 解决: 11
您该题的状态:已完成
[提交][状态][讨论版]
题目描述
设计一个程序求出A*B,然后将其结果每一位相加得到C,如果C的位数大于等于2,继续将C的各位数相加,直到结果是个一位数k。
例如:
6*8=48;
4+8=12;
1+2=3;
输出3即可。
输入
第一行输入一个数N(0<N<=1000000),表示N组测试数据。
随后的N行每行给出两个非负整数m,n(0<=m,n<=10^12)。
输出
对于每一行数据,输出k。
样例输入
<span style="color:#333333"><span style="color:black">3
6 8
1234567 67
454 1232</span></span>
样例输出
<span style="color:#333333"><span style="color:black">3
4
5</span></span>
提示
来源
这个方法小心当为9的时候,
#include<stdio.h>
#include<string.h>
#define N 1000010
int main()
{
char a[N];
int n,q;
scanf("%d",&n);
while(n--)
{ q=0;
long long a,b;
scanf("%lld %lld",&a,&b);
if(a<0||b<0)
{
continue;
}
else if(a==0||b==0)
{
printf("0\n");
}
else
{
q=((a%9)*(b%9))%9;
if(q==0)
{
printf("9\n");
}
else
printf("%d\n",q);
}
}
return 0;
}