首页 > 送分题
头像 wwlw
发表于 2025-10-28 12:12:13
考虑归纳。令。对于, 。对于,。即区间全部 相同。令。对于,。归纳知对于全部,相同,且等于。
头像 小琢卷不动
发表于 2021-11-23 22:16:36
不知道题面中的代码是什么逻辑。 但是可以通过尝试,发现只要 n≥20182017n\ge20182017n≥20182017 时的输出均为 201820172018201720182017,据此模拟这个过程即可。 (只需要把题面中给的代码加上一个特判,时间复杂度即为正确的) #include< 展开全文
头像 smartiphone
发表于 2025-10-28 09:26:39
#include<iostream> using namespace std; long long f(long long n) { if (n < 20180001) return n + 2017; return f(f(n - 2018)); } int ma 展开全文
头像 句号orz
发表于 2025-10-28 17:05:47
#include<iostream> using namespace std; long f(long long n) { if (n < 20180001) return n + 2017; return f(f(n - 2018)); } int main() 展开全文
头像 365cent
发表于 2025-10-28 13:39:15
#include <stdio.h> int main() { long n; scanf("%ld", &n); if(n > 20180000) n = 20180000; printf("%ld" 展开全文
头像 PHarr
发表于 2025-10-28 20:32:04
可以看到如果n非常大的时候会一直减2018。 所以我们可以先用二进制枚举快速减很多个2018,把n降到一个比较小的数字,然后再带进函数暴力计算。 #include <bits/stdc++.h> using namespace std; long long f(long long n 展开全文