国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

bzoj2705: [SDOI2012]Longge的問題 歐拉函數(shù)

2019-11-06 06:36:43
字體:
供稿:網(wǎng)友

題目大意:給定n,求出1到n所有數(shù)與n的gcd之和。 題解:我們枚舉n的每一個因子d,然后計算一下1到n/d的區(qū)間內(nèi)有多少個數(shù)和n/d互質(zhì),也就是歐拉函數(shù),再將歐拉函數(shù)乘以一個d即可。

#include<cstdio>#include<cstdlib>#include<iostream>#include<iomanip>#include<ctime>#include<cmath>#include<cstring>#include<string>#include<algorithm>using namespace std;long long phi(long long x){ long long re=x; for(int i=2;i<=sqrt(x)+0.5;i++) { if(x%i==0) re-=re/i; while(x%i==0) x/=i; } if(x!=1) re-=re/x; return re;}int main(){ long long n; scanf("%lld",&n); long long ans=0; for(int i=1;i<=sqrt(n)+0.5;i++) { if(n%i==0) { ans+=i*phi(n/i); if(i!=n/i) ans+=(n/i)*phi(n/(n/i)); } } cout<<ans; return 0;}
上一篇:PAT 1069

下一篇:leetcode 58. Length of Last Word

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 古田县| 乌鲁木齐市| 霍山县| 遵化市| 溧阳市| 阿巴嘎旗| 阜新| 奉节县| 连山| 车险| 湘潭县| 永寿县| 卓资县| 沅陵县| 洪湖市| 肥乡县| 宜兰市| 广水市| 南汇区| 得荣县| 年辖:市辖区| 饶阳县| 呈贡县| 旅游| 肇东市| 靖安县| 从化市| 佳木斯市| 九龙坡区| 息烽县| 松溪县| 乐清市| 长岛县| 酒泉市| 云梦县| 东阳市| 浙江省| 文成县| 高碑店市| 沧源| 綦江县|