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

题意:给出t组数据,判断前者是否能被后者整除,能的话输出divisible,否则输出not divisible

思路:前者数据太大,用字符串输入,后者直接int输入即可。然后将前者每一位转换成int型,在每一位转换的时候进行取余。

  但是需要注意判断两者的正负,前者若为负直接将后面每一位往前移一位,且字符串长度记得-1;后者直接变符号即可。

取余操作:

for(int i=0; i<L; i++)
{
k=(k*10+a[i]-'0')%b;
}

上述还可以写成k=(k*10%b+a[i]-'0')%b;

同余定理:
      (a+b)%c=(a%c+b%c)%c
      (a*b)%c=(a%c*b%c)%c

大数取余操作:
一个大数对一个数取余,可以把大数看成各位数的权值与个
位数乘积的和。
1234 = ((1 * 10 + 2) * 10 + 3) * 10 + 4

 1 #include<stdio.h>
2 #include<cmath>
3 #include<string.h>
4 typedef long long ll;
5 using namespace std;
6
7 //const int N=2e200;
8 char a[20000];
9 int b;
10
11 int main()
12 {
13 int n;
14 int t;
15 scanf("%d",&t);
16 int tt=1;
17 while(t--)
18 {
19 scanf("%s %d",a,&b);
20 int L=strlen(a);
21 if(a[0]=='-')//判断前者字符串是否为负
22 {
23 for(int i=1; i<L; i++)
24 {
25 a[i-1]=a[i];
26 }
27 // strlen(a)--;
28 L--;//这里注意一下
29 }
30 if(b<0)//判断后者int是否为负
31 b=-b;
32
33 ll k=0;//这里要写成ll,不然WA
34 for(int i=0; i<L; i++)
35 {
36 k=(k*10+a[i]-'0')%b;
37 }
38 if(k==0)
39 printf("Case %d: divisible\n",tt++);
40 else
41 printf("Case %d: not divisible\n",tt++);
42 }
43 return 0;
44 }

LightOJ-1214-Large Division-大数取余的更多相关文章

  1. light oj 1214 - Large Division 大数除法

    1214 - Large Division Given two integers, a and b, you should check whether a is divisible by b or n ...

  2. LightOJ 1214 Large Division

    Large Division Given two integers, a and b, you should check whether a is divisible by b or not. We ...

  3. LightOJ 1214 Large Division 水题

    java有大数模板 import java.util.Scanner; import java.math.*; public class Main { public static void main( ...

  4. Large Division (大数求余)

    Given two integers, a and b, you should check whether a is divisible by b or not. We know that an in ...

  5. 1214 - Large Division -- LightOj(大数取余)

    http://lightoj.com/volume_showproblem.php?problem=1214 这就是一道简单的大数取余. 还想还用到了同余定理: 所谓的同余,顾名思义,就是许多的数被一 ...

  6. light oj 1214 - Large Division

    1214 - Large Division   PDF (English) Statistics Forum Time Limit: 1 second(s) Memory Limit: 32 MB G ...

  7. LightOJ1214 Large Division —— 大数求模

    题目链接:https://vjudge.net/problem/LightOJ-1214 1214 - Large Division    PDF (English) Statistics Forum ...

  8. POJ2635The Embarrassed Cryptographer(大数取余+素数筛选+好题)

    题目链接 题意:K是由两个素数乘积,如果最小的素数小于L,输出BAD最小的素数,否则输出GOOD 分析 素数打表将 L 大点的素数打出来,一定要比L大,然后就开始枚举,只需K对 素数 取余 看看是否为 ...

  9. java大数取余

    java大数取余: 类方法:BigInteger.divideAndRemainder() 返回一个数组,key = 0为商key = 1为余数 import java.util.*; import ...

  10. hdu 1226 bfs+余数判重+大数取余

    题目: 超级密码 Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

随机推荐

  1. 利用Delphi全面控制Windows任务栏

    使用Windows95/NT/98操作系统的用户知道:Windows正常启动后,在电脑屏幕下方出现一块 任务栏.从系统功能角度而言,整个任务栏包括几个不同的子区域,从左至右依次是:开始 按钮.应用程序 ...

  2. NX二次开发-UF_MODL_create_bplane创建有界平面

    这里要注意一点,有界平面是body,不是face,以前我刚开始做项目的时候一直以为有界平面是face,后来发现不对.是body NX9+VS2012 #include <uf.h> #in ...

  3. 实现组件props双向绑定解决方案

    注意: 子组件不能直接修改prop过来的数据,会报错 方案一: 用data对象中创建一个props属性的副本 watch props属性 赋予data副本 来同步组件外对props的修改 watch ...

  4. Lvs+keepalived+mysql(主从复制)

    1.准备环境 操作系统:centos 6.5 2台机器主机名为node53.node54     Mysql Lvs keepalived node2 Y Y Y node3 Y Y Y       ...

  5. go modules学习

    https://github.com/golang/go/wiki/Modules https://tonybai.com/2018/07/15/hello-go-module/ https://ww ...

  6. HSF简单实现记录( 基于Ali-Tomcat 开发)

    文章目录 声明 注意 提示: Ali-Tomcat 概述 安装 Ali-Tomcat 和 Pandora 并配置开发环境 安装 Ali-Tomcat 和 Pandora 配置开发环境 配置 Eclip ...

  7. 【集合框架】JDK1.8源码分析之HashMap

    一.前言 在分析jdk1.8后的HashMap源码时,发现网上好多分析都是基于之前的jdk,而Java8的HashMap对之前做了较大的优化,其中最重要的一个优化就是桶中的元素不再唯一按照链表组合,也 ...

  8. [14]APUE:API for Mysql

    库:/usr/lib64/libmysqlclient.so.#.#... 头文件:/usr/lib64/mysql/mysql.h 一.建立连接 MYSQL *mysql_init(MYSQL *) ...

  9. python 数据结构之冒泡排序

    def bubble_sort(alist): # 外层循环冒泡排序进行的次数(len-1) for i in range(len(alist) - 1, 0, -1): # 内层循环控制冒泡的比较: ...

  10. 8-MySQL高级-主从-2

    详细配置主从同步的方法 主和从的身份可以自己指定,我们将虚拟机Ubuntu中MySQL作为主服务器,将Windows中的MySQL作为从服务器. 在主从设置前,要保证Ubuntu与Windows间的网 ...