Pagini recente » Cod sursa (job #169088) | Cod sursa (job #2286191) | Cod sursa (job #2735152) | Cod sursa (job #1830787) | Cod sursa (job #3266671)
#include <bits/stdc++.h>
#define fi first
#define se second
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
int n;
int main(){
ios_base::sync_with_stdio(false);
f>>n;
/*
In primul rand, e clar ca am 2n-1 fractii din start, anume:
1/1 1/2 1/3 1/4 ... 1/n si
2/1 3/1 4/1 5/1 ... n/1
In continuare, pentru un nr k adaug la raspuns 2*(nr. de nr. prime cu k si mai mari decat el)
Numerele prime cu k le aflam din formula n-1-(nr. de nr. neprime cu k)
Numerele neprime cu k se pot afla 1.cu eratostene (dupa mai mult timp de gandire solutia asta e infernala)
2.euler (euler e mult mai simplu dar nu il tin minte niciodata)
-de mentionat pt euler la rasp nu adun formula de mai sus,
ci pentru fiecare nr 2<=k<=n adaug indicatorul lui euler.
Complexitate finala O(n*sqrt(n)) daca fac cu euler
*/
return 0;
}