Fişierul date.

in conţine pe prima linie o valoare naturală nenulă n, iar pe următoarele n linii, separate printr-un spaţiu, câte o pereche de numere naturale nenule reprezentând numărătorul, respectiv, numitorul unei fracţii (2 ≤ n ≤ 10). Să se determine suma acestor fracţii. Numărătorul şi numitorul fracţiei obţinute în forma ireductibilă (valori mai mici sau egale dacât 1000000000) vor fi scrise în fişierul date.out pe prima linie a acestuia separate printr-un spaţiu. Ex. date.in 4 7 6 1 3 1 4 2 5 date.out 43 20 Explicaţie 7 1 1 2 43     6 3 4 5 20

var r,s1,s2,x,y,a,b,n:int64; Function cmmdc(a,b:int64):int64; var c:int64; begin while b<>0 do begin c:=a MOD b; a:=b; b:=c; end; cmmdc:=a; end; Procedure cit; var i:longint; begin assign(input,'date.in');reset(input); readln(n); readln(a,b); for i:=1 to n-1 do begin readln(x,y); s1:=a*y+b*x; s2:=b*y; r:=cmmdc(s1,s2); a:=s1 div r; b:=s2 div r; end; end; begin cit; assign(output,'date.out');rewrite(output); write(a,' ',b); close(input); close(output); end.

Sign up to vote on this title
UsefulNot useful