码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-07-15 23:34:22      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:span   line   ret   规律   string   找规律   vector   cto   std   

题意:请你输出\((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(找规律)

标签:span   line   ret   规律   string   找规律   vector   cto   std   

原文地址:https://www.cnblogs.com/pixel-Teee/p/13307023.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!