CodeForces - 456 B. Fedya and Maths(找规律)

Posted pixel-teee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CodeForces - 456 B. Fedya and Maths(找规律)相关的知识,希望对你有一定的参考价值。

题意:请你输出((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(找规律)的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces Round #260 (Div. 2) B

Codeforces 456A - Laptops

CodeForces 456A Laptops

Codeforces 456 A. Laptops

Codeforces 456C - Boredom(简单DP)

Codeforces Round #456 (Div. 2) B题