加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

LightOj 1214 Large Division(大数除法)

发布时间:2020-12-14 01:59:26 所属栏目:大数据 来源:网络整理
导读:Large Division Input Input starts with an integer? T (≤ 525) ,denoting the number of test cases. Each case starts with a line containing two integers? a (-10 200 ?≤ a ≤ 10 200 ) ?and? b (|b| 0,b fits into a 32 bit signed integer) . Numb

Large Division

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

解题思路:

模拟除法运算即可。

AC代码:

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

int main(){
    int T,t = 1;
    scanf("%d",&T);
    while(T--){
        char num[300];
        ll div;
        scanf("%s%lld",num,&div);
        printf("Case %d: ",t++);
        if(div == 0){
            printf("not divisiblen");
            continue;
        }
        div = div>=0?div:-div;
        if(num[0] == '-')
            num[0] = '0';
        int len = strlen(num);
        ll ans = 0;
        for(int i = 0; i < len; i++)
            ans = ((num[i]-'0')+ans*10) % div;
        if(ans == 0)
            printf("divisiblen");
        else
            printf("not divisiblen");
    }
    return 0;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读