Cod sursa(job #1980122)
Utilizator | Pasoi Stefan pasoi_stefan | Data | 12 mai 2017 13:42:09 |
---|---|---|---|
Problema | Fractii | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <fstream>
using namespace std;
ifstream in("fractii.in");
ofstream out("fractii.out");
unsigned long long nr;
int n;
int cmmdc(int x,int y)
{
int r;
do
{
r=x%y;
x=y;
y=r;
}while(y);
return x;
}
int main()
{
in>>n;
for(int p=1;p<=n;p++)
for(int q=p;q<=n;q++)
if(cmmdc(p,q)==1) nr+=2;
out<<nr-1; //se repeta de doua ori 1/1; numaratorul si numitorul sunt egale fata de celelalte cazuri
// alte cazuri de genul p/p, p!=1, nu sunt ireductiile pentru ca cmmdc==p
}