Вход


Главная страница >> Учебный процесс >> Задачник >> Олимпиадные задачи (с решениями) >> Арифметика >> Номер 27

[Назад]    [Содержание ]    [Вперед]

  


Номер 27


  Условие: Номер 27


Задача 26. Вывести в порядке возрастания все обыкновенные несократимые дроби, заключенные между 0 и 1, знаменатели которых не превышают 15. Массив при этом заводить не следует.

  Решение задачи: Номер 27


Решение задачи 26. Пусть m/n - текущая несократимая дробь. Покажем, как найти следующую по значению дробь. Понятно, что она будет среди несокра тимых дробей вида k/р, где р может принимать значения от 2 до 15. Учитывая условие k/р > m/n можно для каждого р прямо вычислять ми нимальное значение k следующим образом: k=m*p/n+1. При этом каждая дробь k/р, полученная описанным выше образом, несократима. m:=0; n:=1 Повторять i:=1; j:=1; для р:=2 до 15 выполнять нц k:=m*p div n + 1; если k*j < p*i то i:=k; j:=p; все кц m:=i; n:=j; пока i>=j

Назад



[Назад]    [Содержание ]    [Вперед]

  


  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017