倘若要从一个数找它的约数,那么是没有办法的。
但是我们可以倒着思考,从一个数找它的倍数。
可以发现n中有n/2个2的倍数,有n/3个3的倍数,于是直接累加起来便是答案。
只需要输出∑N/i(i<=N)。
#include<cstdio> int main(){ int n,ans=0; scanf("%d",&n); for(int i=1;i<=n;i+=1) ans+=n/i; printf("%d",ans); return 0; }
倘若要从一个数找它的约数,那么是没有办法的。
但是我们可以倒着思考,从一个数找它的倍数。
可以发现n中有n/2个2的倍数,有n/3个3的倍数,于是直接累加起来便是答案。
只需要输出∑N/i(i<=N)。
#include<cstdio> int main(){ int n,ans=0; scanf("%d",&n); for(int i=1;i<=n;i+=1) ans+=n/i; printf("%d",ans); return 0; }