Cod sursa(job #2506200)

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

bool Prim(int n)
{
    if(n<2)return 0;
    if(n==2)return 1;
    if(n%2==0)return 0;
    for(int i=3; i*i<=n; i+=2)
        if(n%i==0)return 0;
    return 1;
}
int CMMDC(int a, int b)
{
    int r;
    while(b)
    {
        r=a%b;
        a=b;
        b=r;
    }
    return a;
}
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 =s - x;
            s =s - m;
            fout << s;
            fout << "\n";
        }
        else
        {
            m = 2*x;
            s = m*(m+1)/2;
            for(i=2; i<=m; i++)
                if(CMMDC(i,x)!=1)
                   s = s - i;
            fout << s;
            fout << "\n";
        }
    }
    return 0;
}