Project Euler:Problem 72 Counting fractions

来源:互联网 发布:一剑轩辕坐骑进阶数据 编辑:程序博客网 时间:2024/06/06 03:25

Consider the fraction, n/d, where n and d are positive integers. If n<d and HCF(n,d)=1, it is called a reduced proper fraction.

If we list the set of reduced proper fractions for d ≤ 8 in ascending order of size, we get:

1/8, 1/7, 1/6, 1/5, 1/4, 2/7, 1/3, 3/8, 2/5, 3/7, 1/2, 4/7, 3/5, 5/8, 2/3, 5/7, 3/4, 4/5, 5/6, 6/7, 7/8

It can be seen that there are 21 elements in this set.

How many elements would be contained in the set of reduced proper fractions for d ≤ 1,000,000?



统计2-1000000之间每个数的欧拉函数

#include <iostream>using namespace std;int getEuler(int n){int m = n;int p = 2;int k = 0;while (p*p <= n){k = 0;while (n%p == 0){n /= p;k++;}if (k >= 1)m = m / p*(p - 1);p++;}if (n > 1)m = m / n*(n - 1);return m;}int main(){unsigned long long count = 0;for (int i = 2; i <= 1000000; i++){count += getEuler(i);}cout << count << endl;system("pause");return 0;}


0 0
原创粉丝点击