Cod sursa(job #1937784)

Utilizator alex.cojocaruAlex Cojocaru alex.cojocaru Data 24 martie 2017 11:40:43
Problema Oz Scor 5
Compilator c Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <stdio.h>

#define NMAX 10000

int v [ NMAX ] ;

char prim (int n ) {
  int f, cn ;
  cn = n ;
  f = 2 ;
  while (f * f < cn ) {
    while (cn % f == 0 ) {
      cn /= f ;
    }
    f++;
  }

  if (n == cn )
    return 1 ;
  return 0 ;
}
int main() {

  FILE *fin, *fout ;
  fin = fopen ("oz.in", "r" ) ;
  fout = fopen ("oz.out", "w" ) ;

  int n, i, d, j, f, a, b, m;

  fscanf (fin, "%d%d", &n, &m ) ;

  for (i = 0 ; i < NMAX ; i++ )
    v[i] = 1 ;
  for (i = 0 ; i < m ; i++ ) {
    fscanf (fin, "%d%d%d", &a, &b, &d ) ;
    v[a] = v[a] * d ;
    v[b] = v[b] * d ;
  }

  f = 2 ;
  for (i = 1 ; i <= n ;i++ ) {
    v[i] = v[i] * f ;
    f++;
    while ( prim(f) == 0 )
      f++;
  }

  for (i = 1 ; i <= n ; i++ )
    fprintf (fout, "%d ", v[i] ) ;
  return 0 ;
}