标签:codeforces
题目链接:http://codeforces.com/problemset/problem/456/B
Fedya studies in a gymnasium. Fedya‘s maths hometask is to calculate the following expression:
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).
The single line contains a single integer n (0?≤?n?≤?10105). The number doesn‘t contain any leading zeroes.
Print the value of the expression without leading zeros.
4
4
124356983594583453458888889
0
Operation x mod y means taking remainder after division x by y.
Note to the first sample:
循环节为4;
代码如下:
#include <cstdio> #include <cstring> #include <cmath> #include <iostream> #include <algorithm> using namespace std; __int64 sum; char s[1000017]; int main() { while(~scanf("%s",s)) { int len = strlen(s); int i, n; int tt = 0; if(len == 1) tt = s[0]-'0'; else { tt = s[len-1]-'0'+(s[len-2]-'0')*10; } n = tt ; if(n > 4) { n %= 4; if(n == 0) n = 4; } sum = 0; int j; for(i = 1; i <= 4; i++) { __int64 t = 1; for(j = 1; j <= n;j++) { t*=i; } t%=5; sum+=t; } printf("%I64d\n",sum%5); } return 0; }
Codeforces Round #260 (Div. 2) B. Fedya and Maths(循环节),布布扣,bubuko.com
Codeforces Round #260 (Div. 2) B. Fedya and Maths(循环节)
标签:codeforces
原文地址:http://blog.csdn.net/u012860063/article/details/38458873