高精度= =

该博客介绍了一个编程问题,涉及检查一个由字符串表示的整数是否能被4整除。通过检查字符串的最后两位数字之和是否能被4整除,可以快速确定这个条件。代码示例给出了一个简单的解决方案,对于每个测试用例,它直接检查并输出结果。

int:最大开到10e9;

long long :最大开到10e18;

int a[N] :最大开到10e8(一维);10e4(二维)

具体题目:

给了碇真嗣一串字符串s,代表一个整数,如果这个整数能够整除4就输出,"yes",如果不能被4整除就输出"no"。

输入格式
第一行输入一个整数T,代表T组测试样例。接下来T行,每一行输入一个字符串s,字符串长度小于等于10^5。(注意是长度是10^5,也就是说,这个数最大是10…^5位数字,它的值可以达到100^100)

输出格式
输出"yes" or "no",每一次输出都加一次换行。

样例输入
5
4
12
15
33
54956194686218613555172122531861288434895819214368978235179088086433761846406643

样例输出

yes
yes
no
no
no

一个小结论:一个数是不是能被4整除,就看它的后两位能否被4整除。

代码:

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>

using namespace std;
const int N = 10e5 + 1;
char s[N];

int main()
{
    int T;
    int a,b;
    int len;
    cin >> T;
    while(T --)
    {
        cin >> s;
        len = strlen(s);
        a = s[len - 1];
        b = s[len - 2];
        if((a + b * 10) % 4 == 0)
        {
            cout << "yes" << endl;
        }
        else
        {
            cout << "no" << endl;
        }
    }
    return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

21RGHLY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值