链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
做水题就是在浪费时间,但是一场比赛要是没有送分的签到题,大家的比赛体验就会很差。为了优化你的比赛体验又不浪费你的读题时间,我并不打算给你很复杂的故事背景,你只需要复制下面的代码并选择正确的语言提交即可通过此题。
#include<iostream> using namespace std; long long f(long long n) { if (n < 20180001) return n + 2017; return f(f(n - 2018)); } int main() { long long n; cin >> n; cout << f(n) << endl; return 0; }
输入描述:
输入一个整数n。(1 ≤ n ≤ 1018)
输出描述:
输出一个整数表示答案。
示例1
输入
20182017
输出
20182017
//直接提交代码会内存超限,我们观察源代码,该函数体,当n<20180001时,加上2017,然后下面返回的是一个递归调用,当n>=20180001时,我们2018,一次之后在判断,还不满足if条件,继续递归,那么最后函数体无非就是得到20182017这个结果
#include<iostream>
using namespace std;
long long f(long long n)
{
if (n < 20180001)
return n + 2017;
return 20182017;
}
int main()
{
long long n;
cin >> n;
cout << f(n) << endl;
return 0;
}