Program n1; var: a,b,c,d, n, m, s: integer; function NOD(n,m:integer):integer; begin while n<>m do if m>n then m:=m-n else n:=n-m; nod:=m; end; begin readln(a); //1й числитель// readln(b); //1й знаменатель// readln(c); //2й числитель// readln(d); //2й знаменатель// n:=a*d+c*b; m:=b*d; s:=nod(n,m); n:=n div s; m:= m div s; writeln(n,'/',m); end.
36^7 = 6^2^7 = 6^14 следовательно 36^7 в шестиричной СС будет 1 и 14 нулей. 6^19 в шестиричной СС будет 1 и 19 нулей. тогда полученное число 1 -> 4 нуля -> 1 -> 14 нулей. пока их 18 теперь от полученного отнимем 18 в СС с основанием 6. 18(10) = 30(6) 0 - 0 = 0 (последний разряд числа) далее по принципу вычитания "занимаем" разряды до ближайшей единицы. после чего у нас остаётся 3 в предпоследнем разряде и 12 цифр 5. итого у нас 12 пятёрок, тройка и единица. так как число 20 разрядное, то 20 - 14 = 6 нулей в записи числа в СС с основанием 6 ответ: 6
Можно и в лоб посчитать, тогда получим 10000055555555555530
var: a,b,c,d, n, m, s: integer;
function NOD(n,m:integer):integer;
begin
while n<>m do if m>n then m:=m-n else n:=n-m;
nod:=m;
end;
begin
readln(a); //1й числитель//
readln(b); //1й знаменатель//
readln(c); //2й числитель//
readln(d); //2й знаменатель//
n:=a*d+c*b;
m:=b*d;
s:=nod(n,m);
n:=n div s;
m:= m div s;
writeln(n,'/',m);
end.