Cod sursa(job #2130368)

Utilizator DooMeDCristian Alexutan DooMeD Data 13 februarie 2018 17:25:12
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.25 kb
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
int n,r,a,b,i,j,nr,c[1000001];
int main()
{
    fin>>n;
    for(i=2; i<=sqrt(n); i++)
        if(c[i]==0)
            for(j=i+i; j<=n; j+=i)
                c[j]=1;
    nr=2*n-1;
    for(i=2; i<=n; i++)
    {
        for(j=i+1; j<=n; j++)
        {
            if(c[i]==0 and c[j]==0)
            {
                nr+=2;
                //cout<<i<<"/"<<j<<"\n";
                //cout<<j<<"/"<<i<<"\n";
            }
            else if(c[i]==0 and j%i!=0)
            {
                nr+=2;
                //cout<<i<<"/"<<j<<"\n";
                //cout<<j<<"/"<<i<<"\n";
            }
            else if(c[j]==0 and i%j!=0)
            {
                nr+=2;
                //cout<<i<<"/"<<j<<"\n";
                //cout<<j<<"/"<<i<<"\n";
            }
            else
            {
                a=i;
                b=j;
                r=a%b;
                while(r!=0)
                {
                    a=b;
                    b=r;
                    r=a%b;
                }
                if(b==1) nr+=2;
            }
        }
    }
    fout<<nr;
    return 0;
}