国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 南昌县| 茌平县| 噶尔县| 恩平市| 琼中| 兰西县| 伊金霍洛旗| 中山市| 北宁市| 辽阳市| 高邑县| 华容县| 固阳县| 奉节县| 鄂托克旗| 垫江县| 长宁区| 万全县| 琼海市| 澄江县| 郑州市| 浦北县| 天祝| 宝坻区| 罗源县| 博罗县| 廊坊市| 定襄县| 永宁县| 平谷区| 崇义县| 盐边县| 台前县| 涪陵区| 青浦区| 盐亭县| 浦北县| 贺州市| 漳州市| 蓝山县| 内乡县|