能不能整除

来源:互联网 发布:淘宝盗图有什么处罚 编辑:程序博客网 时间:2024/04/27 15:47
D - D
Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu
Submit Status

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



代码:

1234567891011121314151617181920212223242526272829303132333435363738394041
#include<stdio.h>#include<string.h>int main(){int im[240],x,y,i,k;long n,m;char cm[240];scanf("%d",&x);for (y=1;y<=x;y++){scanf("%s%lld",&cm,&n);if (n<0) n=0-n;int i=strlen(cm);m=0;if (cm[0]=='-'){for (k=1;k<i;k++)im[k]=cm[k]-48;for (k=1;k<i;k++){m=m*10+im[k];m=m%n;}}else{for (k=0;k<i;k++)im[k]=cm[k]-48;for (k=0;k<i;k++){m=m*10+im[k];m=m%n;}}if (m==0)printf("Case %d: divisible\n",y);elseprintf("Case %d: not divisible\n",y); }return 0;}

不知道这算不算大数除法,反正我是用字符与数组来转换求出来的。注意字符变成数时需要Ascii码的转换。


0 0
原创粉丝点击