记录编号 252113 评测结果 AAAAAAAAAA
题目名称 [河南省队2012] 最大公约数和 最终得分 100
用户昵称 Gravatar神利·代目 是否通过 通过
代码语言 C++ 运行时间 0.000 s
提交时间 2016-04-19 14:35:51 内存使用 0.00 MiB
显示代码纯文本
#include<stdio.h>
long long ans;
inline int phi(int n){
	int re=n;
	for(int i=2;i*i<=n;++i)
	    if(!(n%i)){
			re=re/i*(i-1);
			while(!(n%i))n/=i;
	    }
	if(n>1)re=re/n*(n-1);
	return re;
}
bool work(){
	freopen("gcdsum.in","r",stdin);
	freopen("gcdsum.out","w",stdout);
	int n;scanf("%d",&n);
	for(long long i=1;i*i<=n;++i)if(!(n%i)){
		ans+=1ll*phi(n/i)*i;
		if(i*i!=n)ans+=1ll*phi(i)*n/i;
	}
	printf("%lld",ans);
	//while(1);
}
bool tmp=work();
int main(){;}