Pagini recente » Cod sursa (job #2914015) | Cod sursa (job #1363892) | Cod sursa (job #2981063) | Cod sursa (job #1713870) | Cod sursa (job #31731)
Cod sursa(job #31731)
program puteri;
var a,b,c,a1,b1,c1,d,min,med,max:byte;
p,n,i,j,k:longint;
gasit:boolean;
f,g:text;
function divizor(a,b,c:byte):byte;
begin
if (a=0) and (b=0) or (a=0) and (c=0) or (c=0) and (b=0) then
divizor:=a+b+c
else
if (a=1) or (b=1) or (c=1) then
divizor:=1
else
begin
if a<b then
begin
max:=b;
min:=a
end
else
begin
max:=a;
min:=b
end;
if max<c then
max:=c;
if min>c then
min:=c;
med:=a+b+c-min-max;
if min=0 then
min:=med;
gasit:=false;
d:=2;
while (d<=min) and not gasit do
if (a mod d = 0) and (b mod d = 0) and (c mod d = 0) then
gasit:=true
else
inc(d);
if gasit then
divizor:=d
else
divizor:=1
end;
end;
begin
assign(f,'puteri.in');
reset(f);
assign(g,'puteri.out');
rewrite(g);
readln(f,n);
p:=0;
for i:=1 to n-1 do
begin
reset(f);
for k:=1 to i do
readln(f);
readln(f,a,b,c);
for j:=i+1 to n do
begin
readln(f,a1,b1,c1);
a:=a+a1;
b:=b+b1;
c:=c+c1;
d:=divizor(a,b,c);
a:=a-a1;
b:=b-b1;
c:=c-c1;
if d>1 then
inc(p)
end;
end;
close(f);
writeln(g,p);
close(g);
end.