Project Euler #72: Counting fractions (C++)
Question
Answer : 303963552391
Hacker Rank Problem
Solution
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:
How many elements would be contained in the set of reduced proper fractions for d ≤ 1,000,000?
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?
Answer : 303963552391
Hacker Rank Problem
Solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | #include <cstdio> #include <iostream> #include <sstream> #include <string> #include <cmath> #include <cassert> #include <algorithm> #include <vector> #include <set> #include <map> #include <deque> using namespace std; typedef long long ll; typedef pair<double, double> dd; typedef pair<int, int> ii; typedef pair<int, ii> iii; typedef vector<int> vi; typedef vector<ii> vii; typedef vector<vi> vvi; typedef vector<vii> vvii; int euler(int x){ int ans = x; for(int i=2;i*i<=x;i++){ if(x%i == 0){ while(x%i == 0) x/=i; ans = ans - ans/i; } } if(x > 1){ ans = ans - ans/x; } return ans; } int main(){ int N = 1e6 + 10; vector<ll> v(N, 0); v[0] = 2; ll ans = 1; for(int i=1;i<N;i++){ ans += euler(i); v[i] = ans; } int t; cin >> t; while(t--){ int d; cin >> d; cout << (v[d]-2) << endl; } } |
ultuPabdeGlendale Jason Gonnie https://marketplace.visualstudio.com/items?itemName=subscomsahe.Descargar-The-Boogie-Man-gratuita
ReplyDeletepidislinkbe
substaZvie Abby Snyder CCleaner pro
ReplyDeleteDisk Drill
McAfee Internet Security
dingprotconchon
probsceninyo Megan Edwardz This is there
ReplyDeleteThere
neuturwehrru