题目大意:求\[\sum\limits_{i=1}^n\sum\limits_{d|i}1\] 题解:交换求和顺序即可. \[\sum\limits_{i=1}^n\sum\limits_{d|i}1=\sum\limits_{d=1}^n\lfloor{n\over d}\rfloor\] 代码如下 #include <bits/stdc++.h> using namespace std; int main(){ int n,ans=0; scanf("%d",&…
怎么会有这么水的省选题 一定是个签到题. 好歹它也是个省选题,独立做出要纪念一下 很容易发现在1~n中,i的因子数是n / i 那就枚举每一个i然后加起来就OK了 #include<cstdio> #define _for(i, a, b) for(int i = (a); i <= (b); i++) using namespace std; int main() { int n; scanf("%d", &n); long long ans = 0; _f…
题意 令\(f(i)\)表示\(i\)的约数个数,求\(\Sigma^n_{i=1}f(i)\). 做法 我们直接算每个数的贡献,问题可以转化成每个数在\(1\)到\(n\)中有多少个倍数,累加答案. 代码 #include<iostream> using namespace std; int main() { int ans=0,n; cin>>n; for (int i=1;i<=n;++i) ans+=n/i; cout<<ans<<endl;…