- 24.05.2015 18:45
- Информатика
- remove_red_eye 14767
- thumb_up 20
Ответы и объяснения 1
// Внимание! Если программа не работает, обновите версию!
type
fraction=class
private
class function GCD(a,b:BigInteger):BigInteger;
begin
while b0 do (a,b):=(b,a mod b);
Result:=a
end;
public
numerator:BigInteger;
denominator:BigInteger;
constructor Create(num:BigInteger:=0; denom:BigInteger:=1);
begin
var n:=GCD(num,denom);
numerator:=num div n;
denominator:=denom div n
end;
class function operator +(a,b:fraction):fraction;
begin
var n:=GCD(a.denominator,b.denominator);
Result:=new fraction(a.numerator*(b.denominator div n)+
b.numerator*(a.denominator div n),a.denominator div n*b.denominator);
end;
end;
function Print(Self:fraction; s:string:=' '):fraction; extensionmethod;
begin
Result:=Self;
if Self.denominator=1 then Write(Self.numerator,s)
else Write(Self.numerator,'/',Self.denominator,s)
end;
function Read:fraction;
begin
var s:=ReadlnString('Введите через пробел числитель и знаменатель:');
var w:=s.ToWords;
Result:=new fraction(BigInteger.Parse(w[0]),BigInteger.Parse(w[1]))
end;
begin
var a:=Read;
var b:=Read;
(a+b).Print
end.
Примеры
Введите через пробел числитель и знаменатель: 1 2
Введите через пробел числитель и знаменатель: 5 130
7/13
Введите через пробел числитель и знаменатель: 132 65
Введите через пробел числитель и знаменатель: 1325 345
26333/4485
Введите через пробел числитель и знаменатель: 1231234450435679092 234535650234953469825
Введите через пробел числитель и знаменатель: 234346623432456207645 2345893524353652
2617268599782944014855731813763449145529/26199793481726210718128032276692900
- 25.05.2015 18:29
- thumb_up 50
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.