大数取余

1183: a%b

时间限制: 1 Sec   内存限制: 128 MB
提交: 603   解决: 205
[ 提交][ 状态][ 讨论版]

题目描述

求a%b的值

输入

第一行一个整数T,表示接下来有T行
每行两个整数是a,b,(0<=a<=10^10000,1<b<1000000000)

输出

输出值

样例输入

21 211111111111111111111111111110 2

样例输出

10

提示

来源

[ 提交 ][ 状态 ][ 讨论版 ]

扫描二维码关注公众号,回复: 1681736 查看本文章


心得:这道题改了好久,思路是对数组每一个数取余,只是从前还是后的问题。

一开始从数组末尾向前取余,结果不对,是从后向前。


代码如下:
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int main(void)
{
LL b;
int t;
scanf("%d",&t);
while(t--)
{
    char a[10010]={0};
scanf("%s %lld",a,&b);
int i,l=strlen(a);
LL tp=0,k=1;
for(i=0;i<l;i++)
{
tp=(tp*10+a[i]-'0')%b;
}
printf("%lld\n",tp);
}
return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41829060/article/details/80732603