首页 > 代码库 > Codeforces Round #260 (Div. 2) B. Fedya and Maths(循环节)
Codeforces Round #260 (Div. 2) B. Fedya and Maths(循环节)
题目链接:http://codeforces.com/problemset/problem/456/B
B. Fedya and Maths
time limit per test
1 secondmemory limit per test
256 megabytesinput
standard inputoutput
standard outputFedya 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).
Input
The single line contains a single integer n (0?≤?n?≤?10105). The number doesn‘t contain any leading zeroes.
Output
Print the value of the expression without leading zeros.
Sample test(s)
input
4
output
4
input
124356983594583453458888889
output
0
Note
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; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。