Cod sursa(job #124480)

Utilizator catalaurCatalin catalaur Data 19 ianuarie 2008 14:08:59
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.19 kb
// 
// File:   newmain.cc
// Author: catalaur
//
// Created on January 19, 2008, 1:20 AM
//

#include <stdio.h>

long vect[1000000];
long vect1[1000000];

int cmmdc(long a , long b){
    long x,y;
    if ((a == 1 or b==1) or (a==b+1 or b==a+1))  return 1;
    else{
            do{
                if (a>b) {
                    a=a-b;
                }
                if (b>a){
                    b=b-a;
                }
            }while (a!=b);
            if (a == 1) {
                return 1;
            }else {
                return 0;
            }
    }
}

int main() {
    FILE *fi,*fo;
    long n,i,j;
    long long frac;
    fi = fopen("fractii.in" , "r");
    fscanf(fi , "%d" , &n);
    fclose(fi);
    frac=1;
    for (i=1;i<=n;i++){
        for (j=1; j<=n; j++){
            if (i != j){
                if (vect[i]==j or vect1[j]==i){
                        frac++;
                }else{
                    if (cmmdc(i,j) == 1) {
                        frac++;
                        vect[i]=j;
                        vect1[j]=i;
                    }
                }
            }
        }
    }
    fo = fopen("fractii.out" , "w");
    fprintf(fo , "%1d" , frac);
    return 0;
}