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

首頁 > 學院 > 開發設計 > 正文

【bzoj2190】【SDOI2008】儀仗隊(數論)

2019-11-14 09:52:04
字體:
來源:轉載
供稿:網友

歐拉函數那部分的例題啦,手推一下小數據就可以發先其實是要求最簡(不可再約分)的分數,然后其實就是求歐拉函數啦,記得乘2已經對于1手動加,反正亂搞一下就出來了

#include<iostream> #include<cstdio>#include<cstring>#include<string>#include<algorithm>using namespace std;int n,ans;const int N=80000;int p[N],phi[N],PRime[N];void graph(){ phi[1]=1; for (int i=2;i<=n;i++) { if (!p[i]) { prime[++prime[0]]=i; phi[i]=i-1; } for (int j=1;j<=prime[0]&&i*prime[j]<=n;++j) { p[i*prime[j]]=1; if (i%prime[j]==0) { phi[i*prime[j]]=phi[i]*prime[j]; break; } else phi[i*prime[j]]=phi[i]*(prime[j]-1); } }}int main(){ cin>>n; memset(p,0,sizeof(p)); memset(phi,0,sizeof(phi)); if (n==1){cout<<1;return 0;} graph(); for (int i=2;i<n;i++) ans+=phi[i]; ans*=2; ans+=3; cout<<ans;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湟源县| 密山市| 广安市| 大同市| 盈江县| 石城县| 江北区| 塔河县| 精河县| 临高县| 丁青县| 盘山县| 象山县| 南陵县| 阜宁县| 廊坊市| 闸北区| 井陉县| 青龙| 元阳县| 齐齐哈尔市| 阿拉善左旗| 麻栗坡县| 靖江市| 神农架林区| 沾化县| 鞍山市| 鱼台县| 建德市| 榆树市| 井陉县| 云龙县| 郧西县| 綦江县| 开江县| 靖江市| 武平县| 新乡县| 新平| 乡宁县| 彭泽县|