CodeForces - 456 B. Fedya and Maths(找规律)
Posted pixel-teee
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CodeForces - 456 B. Fedya and Maths(找规律)相关的知识,希望对你有一定的参考价值。
题意:请你输出((1^n + 2^n + 3^n + 4^n) \% 5)的结果。(n(0 <= n <= 10^{100000}))。
分析:一个数能否被4整除,只需要看最后两位,因为任何一个数都能化成(a * 100 + b)的形式,因为(100)能被4整除,所以只需要看b能否被4整除即可。这道题可以发现当n是4的倍数的时候,输出4,其余都为0。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
string s;
cin >> s;
int sz = s.size();
int a = 0;
if (sz >= 2)
{
a = (s[sz - 1] - ‘0‘) + (s[sz - 2] - ‘0‘) * 10;
}
else
{
a = s[sz - 1];
}
if (a % 4 == 0)
puts("4");
else
puts("0");
return 0;
}
ps.当然可以直接套个高精度模4即可。
以上是关于CodeForces - 456 B. Fedya and Maths(找规律)的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces Round #260 (Div. 2) B