题目描述
众所周知丫,scz是21级最强的acmer,每一个21级甚至是20级acm队员都想膜拜他,因为膜拜的膜与取模的模发音相似,于是scz这一次想让你帮助他解决一道题目
请输出 a%b的值
输入
依次输入a,b,
(1<=a的位数<=1e6)
(1<=b<=1e9+7)
输出
一个整数,表示a%b的值
样例输入 Copy
3 2
样例输出 Copy
1
提示
测试样例2
输入
810975 114514
输出
9377
(请注意,zzulioj对于python语言的判断好像有些毛病,请酌情使用python)
这题注意a的位数为一百万位!
#include<stdio.h>
#include<string.h>
#define N 1000001
char a[N];
long long int x,b[N];
int len;
int main()
{
scanf("%s %d",a,&x);
int i;
len=strlen(a);
if(len==1)
{
printf("%d",(a[0]-'0')%x);
}
else
{
for(i=0;i<len;i++)
{
b[i]=a[i]-'0';
}
for(i=0;i<len;i++)
{
b[i+1]=(b[i]*10+b[i+1])%x;
}
printf("%lld",b[len-1]);
}
return 0;
}