Description
Given two integers,?a?and?b,you should check whether?a?is divisible by?b?or not. We know that an integer?a?is divisible by an integer?b?if and only if there exists an integer?c?such that?a = b * c.
Input
Input starts with an integer?T (≤ 525),denoting the number of test cases.
Each case starts with a line containing two integers?a (-10200?≤ a ≤ 10200)?and?b (|b| > 0,b fits into a 32 bit signed integer). Numbers will not contain leading zeroes.
Output
For each case,print the case number first. Then print?’divisible’?if?a?is divisible by?b. Otherwise print?’not divisible’.
Sample Input
6
101 101
0 67
-101 101
7678123668327637674887634 101
11010000000000000000 256
-202202202202000202202202 -101
Sample Output
Case 1: divisible
Case 2: divisible
Case 3: divisible
Case 4: not divisible
Case 5: divisible
Case 6: divisible
#include <stdio.h> #include <string.h> int main() { int n; char a[300]; int m; long long y; int l; int t=1; scanf("%d",&n); while(n--) { scanf("%s %d",a,&m); l = strlen(a); if(m < 0) m = -m; //m作为除数不可以为负 printf("Case %d: ",t++); if(a[0]=='-') //m分正负单独处理 { y=(a[1]-'0')%m; for(int i=2;i<l;i++) { y=(y*10+(a[i]-'0'))%m; } if(y==0) printf("divisible\n"); else printf("not divisible\n"); } else { y=(a[0]-'0')%m; for(int i=1;i<l;i++) { y=(y*10+(a[i]-'0'))%m; } if(y==0) printf("divisible\n"); else printf("not divisible\n"); } } return 0; }