Cod sursa(job #2660968)

Utilizator teochess2017Togan Teodor-Bogdan teochess2017 Data 20 octombrie 2020 22:49:53
Problema Oz Scor 75
Compilator c-64 Status done
Runda Temă divizibilitate & primalitate clasa a 9-a Marime 0.74 kb
#include <stdio.h>
#include <stdlib.h>

int v[10000];

int cmmdc(int a, int b){
  int r;
  if(a < b){
    r = a;
    a = b;
    b = r;
  }
  while(0 < b){
    r = a % b;
    a = b;
    b = r;
  }
  return a;
}

int main()
{
    FILE *fin, *fout;
    int n, m, x, y, d, i;
    fin = fopen("oz.in", "r");
    fscanf(fin, "%d%d", &n, &m);
    for(i = 0; i < n; i++){
      v[i] = 1;
    }
    for(i = 0; i < m; i++){
      fscanf(fin, "%d%d%d", &x, &y, &d);
      v[x - 1] = v[x - 1] / cmmdc(v[x - 1], d) * d;
      v[y - 1] = v[y - 1] / cmmdc(v[y - 1], d) * d;
    }
    fclose(fin);
    fout = fopen("oz.out", "w");
    for(i = 0; i < n; i++){
      fprintf(fout, "%d ", v[i]);
    }
    fclose(fout);
    return 0;
}