小G的GCD
小G给你两个数n,k
我们定义F(x)为i从1~x i%k==0的i的和
现在希望你求出sum i=1…n F(i)
输入样例
2 1
输出样例
4
解题思路
假设在i位置F(i)被k整除,那么在后面(n-i)个位置里面他依然会被K整除
所以加上本身答案+n-i+1
AC代码
#include <iostream>
using namespace std;
int main()
{
long long n,k;
cin>>n>>k;
long long ans=0;
for(int i=1;i<=n;i++)
{
if(i%k==0)
ans+=i*(n-i+1);
}
cout<<ans;
}