整除(简单数论)
4745 - 第十四课:整除
给定两个整数 a,ba,b ,你需要判断 aa 是否能被 bb 整除。
aa 能被 bb 整除当且仅当 aa % b=0b=0
输入
输入以整数 T(1≤T≤325)T(1≤T≤325)开始,表示测试用例的数量。
每个测试用例将包含整数 a,b(−10200≤a≤10200),b≠0a,b(−10200≤a≤10200),b=0 且 bb 在int 范围内。
输出
共有 TT 行。对于每组测试数据,输出一行信息 "Case t: A" (不含引号)。
其中 tt 表示对应的是第几组测试数据,如果 aa 能被 bb 整除,则 A 为 divisible, 否则 A为 not divisible
样例
输入
6 101 101 0 67 -101 101 7678123668327637674887634 101 11010000000000000000 256 -202202202202000202202202 -101
输出
Case 1: divisible Case 2: divisible Case 3: divisible Case 4: not divisible Case 5: divisible Case 6: divisible
分析:除法竖式
/************************************************************************* > File Name: 4745.cpp > Author: Henry Chen > Mail: 390989083@qq.com > Created Time: 六 9/ 5 22:41:55 2020 ************************************************************************/ #include<bits/stdc++.h> using namespace std; int main() { int T; cin >> T; for(int t = 1;t <= T;t++) { string s; cin >> s; long long m; scanf("%lld",&m); m = abs(m); long long sm = 0; for(int i = 0;i < s.size();i++) { if(s[i] == '-') continue; sm *= 10; sm += s[i]-'0'; sm %= m; } if(sm == 0) { printf("Case %d: divisible\n",t); } else { printf("Case %d: not divisible\n",t); } } return 0; }