acwing221 龙哥的问题

acwing221 龙哥的问题
@[toc]

题目:

在这里插入图片描述

题解:

在这里插入图片描述

代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int phi(int x)
{
    int ans=x;
    for(int i=2;(ll)i*i<=x;++i)
        if(x%i==0)
        {
            ans=(ll)ans*(i-1)/i;
            while(x%i==0) x/=i;
        }
    if(x>1) ans=(ll)ans*(x-1)/x;
    return ans;
}

int main()
{
    int n;
    scanf("%d",&n);
    ll ans=0;
    for(int i=1;(ll)i*i<=n;++i)
        if(n%i==0)
        {
            ans+=(n/i)*phi(i);
            if(i*i!=n) ans+=i*phi(n/i);
        }
    printf("%lld",ans);
    return 0;
}
数论 文章被收录于专栏

数论方向

全部评论

相关推荐

黑皮白袜臭脚体育生:简历条例统一按使用了什么技术实现了什么功能解决了问题或提升了什么性能指标来写会好些,如使用布隆过滤器实现了判断短链接是否存在,大大提升了查询速度
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务