Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2016, 12:22   #1
qwasoc20
Новичок
Джуниор
 
Регистрация: 11.12.2016
Сообщений: 5
По умолчанию срочно помогите пожалуйста ( Pascal) текст

срочно помогите пожалуйста ( Pascal) текст:
дана правильная рациональная несократимая дробь a/b. С этой дробью выполняется следующая операция: к числителю и знаменателю дроби прибавляется 1, после чего дробь сокращается. Определите, можно ли при помощи таких операций из дроби a/b получить другую дробь правильную дробь с/d.
программа получает на вход четыре целых числа a,b,c,d причем 0<a<b<=10^5,0<c<d<=10^5, числа a и b взаимно простые, числа c и d взаимно простые, a/b неравно c/d.
программа должна вывести одно натуральное число - сколько описанных операций нужно применить, чтобы из дроби a/b получить дробь c/d. если это сделать невозможно, программа должна вывести число 0.
qwasoc20 вне форума Ответить с цитированием
Старый 11.12.2016, 14:12   #2
AnimeLover
Новичок
Джуниор
 
Регистрация: 11.12.2016
Сообщений: 1
По умолчанию

Здарова,чел;мы тоже олимпиаду пишем!!
AnimeLover вне форума Ответить с цитированием
Старый 11.12.2016, 14:33   #3
olej.tsil
Заблокирован
 
Регистрация: 29.11.2016
Сообщений: 215
По умолчанию

Цитата:
Сообщение от AnimeLover Посмотреть сообщение
Здарова,чел;мы тоже олимпиаду пишем!!
... безуспешно
olej.tsil вне форума Ответить с цитированием
Старый 11.12.2016, 14:48   #4
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
procedure abcd(var a,b:integer);
var i,k:integer;
begin
   a:=a+1;
   b:=b+1;
   k:=1;
   For i:=a downto 1 do
      If (a mod i=0) and (b mod i=0) then
      begin
         k:=i;
         Break;
      end;
   a:=a div k;
   b:=b div k;
end;

var a,b,c,d,k:integer;
begin
   Write('a = ');Readln(a);
   Write('b = ');Readln(b);
   Write('c = ');Readln(c);
   Write('d = ');Readln(d);
   k:=0;
   Repeat
      abcd(a,b);
      Writeln(k,') ',a,'/',b);
      k:=k+1;
   Until (a=c) and (b=d) or (b>d);
   Writeln('------');
   If (a=c) and (b=d) then
      Writeln(k) else
      Writeln(0);
   Readln;
end.
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]

Последний раз редактировалось newerow1989; 11.12.2016 в 15:03.
newerow1989 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
срочно помогите пожалуйста qwasoc20 Помощь студентам 5 11.12.2016 12:07
Помогите создать програму для роботы с файлами, пожалуйста помогите нужно очень срочно Сергей Человек Фриланс 3 06.07.2009 19:30
Помогите пожалуйста срочно!Turbo pascal. ZMEEEI Помощь студентам 4 04.12.2007 18:59