Cod sursa(job #2506203)

Utilizator amalia.gemanGeman Aamalia amalia.geman Data 7 decembrie 2019 18:00:55
Problema Sum Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <iostream>
#include <fstream>
#define N 100001
using namespace std;
ifstream fin ("sum.in");
ofstream fout ("sum.out");

int CMMDC(int a, int b)
{
    int r;
    while(b)
    {
        r=a%b;
        a=b;
        b=r;
    }
    return a;
}

bool Prim(int n)
{
    int i;
    if(n<2)return 0;
    if(n==2)return 1;
    if(n%2==0)return 0;
    for(i=3; i*i<=n; i+=2)
        if(n%i==0)return 0;
    return 1;
}

int main()
{
    int n, i, m, x, j, s;
    fin >> n;
    for(i=1; i<=n; i++)
    {
        fin >> x;
        if(Prim(x))
        {
            m = 2*x;
            s = m*(m+1)/2;
            s-=x;
            s-=m;
            fout << s;
            fout << "\n";
        }
        else
        {
            m = 2*x;
            s = m*(m+1)/2;
            for(j=2; j<=m; j++)
                if(CMMDC(j,x)!=1)
                    s = s - j;
            fout << s;
            fout << "\n";
        }
    }
    return 0;
}