小G的sum
题目链接:nowcoder 218396
到主站看:https://blog.csdn.net/weixin_43346722/article/details/114551682
题目大意
求 1~n 中每个数最小的约数和最大的约数的和。
思路
大家都知道,一个数最小的约数是 ,最大的约数是它自己。
那就是等于 ,然后化简一下:
。
然后就可以 求了。
代码
#include<cstdio> using namespace std; int n; int main() { scanf("%d", &n); printf("%lld", 1ll * n * (n + 3) >> 1ll); return 0; }