题意:
给你两个数a,b,让你求出来a是否能够被b整除。
题解:大数取余
当一个数很大时,大到long long int类型都存放不了的时候,我们该怎么办呢?首先我们举个简单的例子来了解该算法的思想:
假设有一个数443,我们要求443%3,不妨拿起笔和纸和我一起演算一下。
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
char a[30000];
ll b,s;
int main()
{
int t,cnt=0;
scanf("%d", &t);
while(t--) {
s=0;
scanf("%s%lld",a,&b);
if(b<0) {
b=-b;
}
for(int i=0; i<strlen(a);i++) {
if(a[i]=='-') continue;
s=(s*10+a[i]-'0')%b;
}
if(s==0) {
printf("Case %d: divisible\n",++cnt);
}
else {
printf("Case %d: not divisible\n",++cnt);
}
}
return 0;
}