本文主要是介绍Codeforces Round #260 (Div. 2) B. Fedya and Maths,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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:
数学问题,题意很简单;其实代码也很简单
我最开始做的时候真的吧n的多少次方算出来了。由于之前整理过这样的模板。感觉很爽,但是中途wa了。但发现了这个数只要是4的倍数时,答案就是4,否则就是0;
没有证明,可以简单的大表,观察就可以得出结果。这样代码就简单了
#include<iostream>
#include<fstream>
#include<iomanip>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cstdlib>
#include<cmath>
#include<set>
#include<map>
#include<queue>
#include<stack>
#include<string>
#include<vector>
#include<sstream>
#include<cassert>
using namespace std;
#ifdef __int64
typedef __int64 LL;
#else
typedef long long LL;
#endif#define nnum 1000005
#define nmax 31625int main() {int a, c;char ch[nnum];while (~scanf("%s",ch)) {int len=strlen(ch);int a=ch[len-1]-'0';int b=ch[len-2]-'0';int sum=a+b*10;if(sum%4==0){cout<<"4"<<endl;}elsecout<<"0"<<endl;}return 0;
}
这篇关于Codeforces Round #260 (Div. 2) B. Fedya and Maths的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!