为什么会 UKE
查看原帖
为什么会 UKE
614725
masonpop楼主2022/12/9 10:31

求助,有 UVA 账号,结果 UKE?是我的代码错了吗

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int maxn=4e6+10;
int n,dp[maxn],ans;
signed main()
{
	while(scanf("%lld",&n) != EOF)
	{
		ans=0;
		if(!n)break;
		for(int i=n;i>=1;i--)
		{
			dp[i]=(n/i)*(n/i);
			for(int j=2*i;j<=n;j+=i)dp[i]-=dp[j];
			ans+=i*dp[i];
		}
		printf("%lld\n",(ans-n*(n+1)/2)>>1);
	}
	return 0;
}
2022/12/9 10:31
加载中...