小G的sum
小G的sum
https://ac.nowcoder.com/acm/contest/11160/A
链接:https://ac.nowcoder.com/acm/contest/11160/A
给定一个n, 定义mind(n)为n最小的约数,maxd(n)为n最大的约数
求sum i=1..n mind(i) + sum i=1..n maxd(i)
任意一个数的最小约数是1,最大约数是本身。
所以求1->n的最小约数和 = n, 最大约数和 = (1 + n) * n / 2
输出答案 n + (1 + n) * n / 2 即可
ps: 答案要用long long 存
#include<bits/stdc++.h> using namespace std; typedef long long ll; ll n; int main() { cin >> n; ll ans = n + n * (n + 1) / 2; cout << ans << endl; return 0; }