题目来源
Fedya studies in a gymnasium. Fedya’s maths hometask is to calculate the following expression:
(1^n + 2^n + 3^n + 4^n) mod 5
for given value of n. Fedya managed to complete the task. Can you? Note that given number n can be extremely large (e.g. it can exceed any integer type of your programming language).
Input
The single line contains a single integer n (0 ≤ n ≤ 1e105). The number doesn’t contain any leading zeroes.
Output
Print the value of the expression without leading zeros.
Examples
Input
4
Output
4
Input
124356983594583453458888889
Output
0
题意
对于每个输入的n, 输出取模的结果, (n非常大,只能用char数组来存)
解法
不难发现当 n%4==0时, 取模结果为4, 其余情况为0(打个表找下规律或者自己手算一下就可以发现了),而对于n的整百部分, 一定可以被4整除,判断一下最后两位就可以了
代码
#include <iostream>
#include <cstring>
using namespace std;
char s[1000005];
int main(){
cin >> s;
int len = strlen(s);
int k;
if(len >=2) k = (s[len-2] -'0')*10 + s[len-1] - '0';
else k = s[len-1]-'0';
if(k%4==0) cout << 4 << endl;
else cout << 0 << endl;
return 0;
}