记录编号 357882 评测结果 AAAAAAAAAA
题目名称 [河南省队2012] 最大公约数和 最终得分 100
用户昵称 GravatarHzoi_Go灬Fire 是否通过 通过
代码语言 C++ 运行时间 0.029 s
提交时间 2016-12-13 11:56:42 内存使用 3.56 MiB
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=1010;
#define LL long long
#define Begin freopen("gcdsum.in","r",stdin);freopen("gcdsum.out","w",stdout);
LL qpow(LL x,LL h){
	LL ans=1;
	while(h){
		if(h&1)ans*=x;
		x*=x;h>>=1;
	}
	return ans;
}
void Init();

int main(){
    Begin;
    Init();
    getchar();getchar();
    return 0;
}
void Init(){
	LL n,ans=1;scanf("%lld",&n);
	for(LL i=2;i*i<=n;i++){
		if(n%i==0){
			LL num=0;
			while(n%i==0)n/=i,num++;
			ans*=qpow(i,num-1)*(num*i-num+i);
		}
	}
	if(n>1)ans*=(n-1+n);
	printf("%lld\n",ans);
}