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

首頁 > 學院 > 開發(fā)設計 > 正文

GCD - Extreme (II) [歐拉函數(shù)]

2019-11-08 03:15:23
字體:
來源:轉載
供稿:網(wǎng)友

這里寫圖片描述

G=0;for(i=1;i<N;i++) for(j=i+1;j<=N;j++) { G+=gcd(i,j); }/*Here gcd() is a function that findsthe greatest common divisor of the twoinput numbers*/

Input

The input file contains at most 100 lines of inputs. Each line contains an integer N (1 < N < 4000001). The meaning of N is given in the PRoblem statement. Input is terminated by a line containing a single zero.

Output

For each line of input produce one line of output. This line contains the value of G for the corresponding N. The value of G will fit in a 64-bit signed integer.

Sample Input

10 100 200000 0

Sample Output

67 13015 143295493160

題解

這里寫圖片描述

#include<stdio.h>#define MAX_N 4000002typedef long long LL;int phi[MAX_N];LL res[MAX_N],cum[MAX_N];void init(){ for(int i=1;i<MAX_N;i++) phi[i]=i; for(int i=2;i<MAX_N;i++) if(phi[i]==i) for(int j=i;j<MAX_N;j+=i) phi[j]=phi[j]/i*(i-1); for(int i=1;i<MAX_N;i++){ for(int k=i;k<MAX_N;k+=i){ res[k]+=1LL*i*phi[k/i]; } } for(int i=1;i<MAX_N;i++) res[i]-=i; for(int i=1;i<MAX_N;i++) cum[i]=cum[i-1]+res[i];}int main(){ init(); int n; while(scanf("%d",&n)&&n) printf("%lld/n",cum[n]); return 0;}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 共和县| 安阳县| 开江县| 罗江县| 石阡县| 灌阳县| 葫芦岛市| 宣武区| 普兰店市| 富源县| 临海市| 房产| 西乌| 巫溪县| 攀枝花市| 同德县| 余干县| 平南县| 大田县| 牙克石市| 巴里| 庆阳市| 公安县| 盐池县| 云霄县| 宁津县| 大渡口区| 惠安县| 休宁县| 临泉县| 万源市| 会昌县| 东宁县| 乌拉特前旗| 霍州市| 理塘县| 克拉玛依市| 吕梁市| 邢台市| 虞城县| 恩平市|