1. 程式人生 > >牛客網小白月賽7送分題

牛客網小白月賽7送分題

連結:https://ac.nowcoder.com/acm/contest/190/A
時間限制:C/C++ 1秒,其他語言2秒
空間限制:C/C++ 32768K,其他語言65536K
64bit IO Format: %lld
題目描述
做水題就是在浪費時間,但是一場比賽要是沒有送分的簽到題,大家的比賽體驗就會很差。為了優化你的比賽體驗又不浪費你的讀題時間,我並不打算給你很複雜的故事背景,你只需要複製下面的程式碼並選擇正確的語言提交即可通過此題。

#include
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

#include<stdio.h>
    long long f(long long n)
    {
        if (n < 20180001) 
            return n + 2017;
        else if(n<2020019)
            return f(n+2017); 
        return 20182017;
    }
    int main()
    {
        long long n;
        scanf("%d",&n);
        printf("%lld",f(n));
        return 0;
    }

用自帶的肯定是提示記憶體超限,那就不能這麼遞迴下去,先分析有幾種情況,各個情況