LightOJ - 1214(大数取模)

链接:https://cn.vjudge.net/contest/276155#problem/K

求a能否整除b。

将大数分解为一个个数,例如123 = 1*10^2 + 2*10^1 + 3*10^0,逐个膜。

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
using namespace std;

int main(){
	long long n,num,i;
	string s;
	int t,id = 0;
	scanf("%d",&t);
	while(t--){
		cin>>s>>n;
		n = abs(n);
		num = 0;
		if(s[0] == '-')i = 1;
		else i = 0;
		for(i;i<s.size();++i){
			num = (num*10 + s[i] - '0')%n;
		}
		printf("Case %d: ",++id);
		if(num == 0)
		cout<<"divisible\n";
		else
		cout<<"not divisible\n";
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/dukig/article/details/89438471