zoukankan      html  css  js  c++  java
  • Light Oj 1214 大数整除

    Large Division
    Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu
    Submit

    Status

    Practice

    LightOJ 1214
    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

    <span style="color:#6600cc;">/*******************************************
       
         author   :   Grant Yuan
         time     :   2014.8.7
         algorithm:   大数整除
         source   :   Light Oj 1214
         explain  :  从ans初始化为0,最低位开始ans=(ans+s[i]-'0')%b;
                      计算到最后,如果ans 等于0,可以整除;
                      否则,不可以整除;
                      
    **********************************************/
    
    #include<iostream>
    #include<cstdio>
    #include<cstdlib>
    #include<cstring>
    #include<algorithm>
    #define INF 0x3fffffff
    
    using namespace std;
    
    char s[2000002];
    int b;
    long long ans;
    int t;
    
    int main()
    {
        scanf("%d",&t);
        for(int i=1;i<=t;i++)
        {    memset(s,0,sizeof(s));
            scanf("%s%d",&s,&b);
            if(b<0) b=-b;
            int l=strlen(s);
            ans=0;
            for(int j=0;j<l;j++)
            {
                if(s[j]=='-') continue;
                ans=(ans*10+(s[j]-'0'))%b;
            }
            if(ans==0)
                printf("Case %d: divisible
    ",i);
            else
                printf("Case %d: not divisible
    ",i);
        }
        return 0;
    }
    </span>


     

  • 相关阅读:
    .net环境中引用js文件乱码解决办法(转)
    js中frame对象几种访问方法
    js中建立像泛型、哈希表那样的对象
    VB编程操作AutoCAD长度型尺寸标注
    VB编程设置AutoCAD文字样式
    VB编程操作AutoCAD角度型尺寸标注
    VB编程操作AutoCAD单行文字
    VB编程操作AutoCAD块对象
    VB编程控制AutoCAD颜色属性
    VB编程操作AutoCAD坐标型尺寸标注
  • 原文地址:https://www.cnblogs.com/codeyuan/p/4254457.html
Copyright © 2011-2022 走看看