Cod sursa(job #2430279)

Utilizator BogBBogdan BogB Data 13 iunie 2019 19:01:38
Problema Pairs Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.22 kb
#include <iostream>
#include <vector>
int CMMDC(int a, int b){
    int k1, k2, rezultat;
    if( a-b > 0){
        k1 = a;
        k2 = b;
    } else{
        k1 = b;
        k2 = a;
    }
    while(1){
        rezultat = k1 % k2;
        if(rezultat == 0){
            if(k2 == 1){
                return 1;
            }
            return 0;
        }
        k1 = k2;
        k2 = rezultat;
    }
}
int main() {
    int N;
    int k = 0;
    int numar;
    std::vector<int> numere;
    FILE * fisier_out = fopen("pairs.out", "w");
    FILE * fisier_in = fopen("pairs.in", "r");
    fscanf(fisier_in, "%d", &N);
    for(int i = 0; i < N; i++){
        fscanf(fisier_in, "%d", &numar);
        numere.push_back(numar);
    }
    for (int j = 0; j < numere.size() - 1; j++) {
        for (int i = j+1; i < numere.size(); i++) {
            if(numere.at(j) != numere.at(i)){
                if((numere.at(j) >= 1 &&  numere.at(j) <= 1000000) && (numere.at(i) >= 1 &&  numere.at(i) <= 1000000)){
                    if(CMMDC(numere.at(j), numere.at(i))){
                        k++;
                    }

                }
            }
        }
    }
    fprintf(fisier_out, "%d", k);
    fclose(fisier_in);
    fclose(fisier_out);
    return 0;

}