Функция Проверки, Является Ли Заданная Дробь Несократимой

Тема в разделе "C/C++/C#", создана пользователем Sneidi, 8 июн 2012.

  1. Sneidi

    Sneidi Гость

    Определить функцию, проверяющую, является ли заданная дробь несократимой. (Дробь задается двумя натуральными числами – числителем и знаменателем). Найти все несократимые дроби, заключенные между 0 и 1, знаменатели которых не превышают заданное число n.

    пожалуйста помогите!!! никак не пойму
     
  2. tig1818c

    tig1818c Гость

    Если я правильно помню, несократимая дробь это та, числитель и знаменатель которой не имеют общих целых делителей.
    Тогда алгоритм проверки можно примерно описать так:

    С=начальное значение ИСТИНА; С-результат, если после выполнения цикла останется ИСТИНА, то дробь несократимая;
    Ч-текущее значение числителя;
    З-текущее значение знаменателя;

    ЦИКЛ для I от 2 (единица не годится для общего делителя) до Ч, приращение 1
    ЕСЛИ ОСТАТОК_ДЕЛЕНИЯ Ч на I ==0 И ОСТАТОК_ДЕЛЕНИЯ З на I ==0 то С=ЛОЖЬ
    КОНЕЦ ЦИКЛА

    Можно в начале (до цикла, но после присвоения С значения ИСТИНА) сделать проверку, что Ч больше 1, т.к. такая дробь не требует
    проверки. А можно и не делать, т.к. цикл все равно в этом случае выполняться не будет.

    Текст на каком-либо языке программирования потрудитесь написать самостоятельно.
    Удачи!
     
Загрузка...

Поделиться этой страницей