标签:span line ret 规律 string 找规律 vector cto std
题意:请你输出\((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(找规律)
标签:span line ret 规律 string 找规律 vector cto std
原文地址:https://www.cnblogs.com/pixel-Teee/p/13307023.html