1183: a%b
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 650 Solved: 221
[Submit][Status][Web Board]Description
求a%b的值
Input
第一行一个整数T,表示接下来有T行
每行两个整数是a,b,(0<=a<=10^10000,1<b<1000000000)
Output
输出值
Sample Input
2 1 2 11111111111111111111111111110 2
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <map>
#include <list>
#include <vector>
#include <stack>
#include <queue>
#include <algorithm>
#include <iostream>
#define go(i,a,b) for(int i=a;i<=b;i++)
#define og(i,a,b) for(int i=a;i>=b;i--)
#define mem(a) memset(a,0,sizeof(a))
using namespace std;
const int inf=0x3f3f3f3f;
const int maxn = 1e4 + 5;
typedef long long ll;
char s[maxn];//数组要开大5个左右,刚刚开了1001结果访问越界了
int a[maxn];
ll big(int BigNum[],ll c,ll length)
{
ll ans=0;
for(int i=0;i< length;i++)
ans=((ans*10)+BigNum[i])%c;
return ans;
}
int main()
{
ll b,leng;
int t;
cin>>t;
go(i,0,t-1)
{
while(scanf("%s %lld",s,&b)!=EOF)
{
leng=strlen(s);
go(i,0,leng) a[i]=s[i]-'0';
printf("%lld\n",big(a,b,leng));//a%b
}
}
return 0;
}