Теория чисел (программа-калькулятор) - формирование заданного подмножества натурального ряда с помощью общего делителя — страница 4

  • Просмотров 3093
  • Скачиваний 482
  • Размер файла 555
    Кб

множителей=2 21=3 ^ 1 * 7 ^ 1 кол-во множителей=4 сумма множителей=32 Тесты. 1.Некорректные данные 8 2.Корректные данные 9 procedure NodNok; Назначение. Данная процедура находит НОД и НОК для заданной совокупности натурального ряда. Алгоритм. С помощью алгоритма Евклида (есть числа a,b и последовательность R1>R2>R3>…>RN, где каждое RK - это остаток от деления предпредыдущего числа на предыдущее, а предпоследнее делится на последнее нацело. Тогда

НОД(a,b), наибольший общий делитель a и b, равен RN, последнему ненулевому члену этой последовательности) находим НОД[4] для первых двух чисел, «цепляем» следующее число для нахождения следующего НОД, и так до тех пор, пока совокупность чисел не закончится. Для нахождения НОК первых двух чисел используем следующий алгоритм: разлагаем данные числа на простые множители и к одному из таких разложений приписываем множители недостающие у

него против разложений остальных данных чисел[5], и аналогично нахождению НОД «цепляем» следующее число. Пример. Числа: 21 и 12 НОД(12,21)=3 НОК(12,21)=84 Тесты. 1.Некорректные данные 2.Корректные данные 10 11 procedure SuperGorner; Назначение. Данная процедура находит рациональные решения уравнения с целочисленными коэффициентами. Алгоритм. Рациональные корни уравнения ищутся с помощью расширенной схемы(метода) Горнера[6] (раскладываем свободный член

и коэффициент перед старшей степенью на все возможные множители и делим все множители свободного члена на все множители коэффициента перед старшей степенью (добавляем также знак “-”); подставляем полученные значения в уравнение, если уравнение получается равным нулю, то это значение - корень данного уравнения). Пример. Уравнение: 6x3-11x2+6x-1=0 Возможные корни: +1, +1/2, +1/3, +1/6 Корни уравнения: 1/3, 1/2, 1 Тесты. 1.Некорректные данные

2.Корректные данные 12 13 procedure Express; Назначение. Данная процедура переводит рациональную дробь в цепную[7]. Алгоритм. Делим числитель на знаменатель, запоминаем его целое значение (a div b, где а - числитель, b - знаменатель), находим остаток от деления числителя на знаменатель (a mod b), присваиваем числителю значение остатка, меняем местами числитель и знаменатель, и так делаем до тех пор, пока (a mod b) не станет равен нулю. Пример. Рациональная

дробь:123/47 Цепная дробь: [2,1,1,1,1,1,1,3] Тесты. 1.Некорректные данные 2.Корректные данные 14 15 procedure AntiExp; Назначение. Данная процедура переводит цепную дробь в рациональную. Алгоритм. Умножаем последний элемент цепной дроби с предпоследним и прибавляем к полученному значению единицу, это будет значением числителя, значением знаменателя будет последний элемент цепной дроби, меняем их местами, теперь последним элементом цепной дроби