求助!莫名其妙的推理思路全WA(悬关)
查看原帖
求助!莫名其妙的推理思路全WA(悬关)
816560
Tomorrow_YYX楼主2024/6/27 18:48

刚刚学了狄利克雷卷积,想找个题练练手,结果找到了这个。

本着试一试的态度,我掏出了手写板…… 于是得到了这么个玩意我怎么看都觉得没问题啊

写出来就成了这样

#include<bits/stdc++.h>
#define il inline
using namespace std;
il int read()
{
	int v=0;char c=getchar();
	while(c<'0')c=getchar();
	while(c>='0'){v=v*10+c-'0';c=getchar();}
	return v;
}
const int N=1e6+5;
int n,d,r1,r2;
long long ans;
int p[N],cnt,phi[N];
bool v[N];
il void get_phi()
{
	phi[1]=1;
	for(int i=2;i<=n;++i)
	{
		if(!v[i])
		{
			phi[i]=i-1;
			p[++cnt]=i;
		}
		for(int j=1;p[j]<=n/i;++i)
		{
			v[p[j]*i]=1;
			if(i%p[j]==0)
			{
				phi[p[j]*i]=phi[i]*p[j];
				break;
			}
			else phi[p[j]*i]=phi[i]*phi[p[j]];
		}
	}
}
signed main()
{
	n=read();
	get_phi();
	for(int k=1;k<=n;++k)
	{
		int i=n/k;
		int j=n/k-1;
		ans+=phi[k]*(i*j/2);
	}
	printf("%lld\n",ans);
	return 0;
}

我满怀欣喜得交上去结果 Wa声一片

谁来帮帮孩子啊求求了呜呜

2024/6/27 18:48
加载中...