您的位置:首页 > Web前端

Codeforces 260 B. Fedya and Maths

2014-08-10 21:47 381 查看
题目链接:http://codeforces.com/contest/456/problem/B

解题报告:输入一个n,让你判断(1n + 2n + 3n + 4n) mod 5的结果是多少?注意n的范围很大很大 n (0 ≤ n ≤ 10105).

只要判断是否能被整除4就可以了,如果n能被4整除,则结果是4,如果不能,则结果是0

但n很长,不能直接mod,但只要判断最低的两位能不能被4整除就可以了,如果n只有一位就判断最低的一位。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<deque>
#include<queue>
#include<set>
#include<map>
using namespace std;
#define maxn 100005
char str[maxn];
int main()
{
while(scanf("%s",str)!=EOF)
{
int temp,len = strlen(str);
if(len <= 1)
temp = str[0] - '0';
else temp = 10 * (str[len - 2] - '0') + (str[len - 1] - '0');
printf(temp % 4? "0\n":"4\n");
}
return 0;
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: