Завдання № 36. Знайти найменший нетрильний ділянок двох заданих чисел » Pascal - основи програмування

Основи програмування на мові Pascal

 

Спонсори

Завдання № 36. Знайти найменший нетрильний ділянок двох заданих чисел

Завдання № 36. Знайти найменший нетрильний ділянок двох заданих чисел
Формулювання. Дано натуральні числа m і n. Вивести на екран їх найменший нетральний дільник або повідомити, що його немає.
Рішення. Завдання схожа на задачу 15, в якій пошук мінімального подільника здійснюва-лялся за допомогою циклу:

for i: = 2 to n do begin
  if n mod i = 0 then begin
    writeln (i);
    break
  end
end;

   Тут все просто: перевіряємо всі числа від 2 по зростанню - якщо знайшли дільник, виводимо його на екран і виходимо з циклу за допомогою break. У нашому ж випадку потрібно перевіряти діли-тість двох введених чисел. При цьому цикл повинен проходити по всіх i від 2 до мінімального з чисел m і n (назвемо його min), так як воно може бути найменшим нетривіальним дільником, коли воно просте. Наприклад, для чисел 17 і 34 таким є 17.
Знайти найменше з двох чисел можна так:
if n <m then min: = n else min: = m;

   До речі, тепер у циклі ми повинні не просто вивести на екран знайдений дільник, а со-зберігати його в деяку змінну (mindiv), яка до входу в цикл буде дорівнює 1 (або 0), щоб перевірити, чи виконає умову подільності в циклі. Якщо так, то необхідно вивести значення найменшого спільного дільника, а якщо ні, і mindiv все ще дорівнює 1 (або 0), то вивести повідомлення про відсутність подільника.

Код:


  1. program MinDivisor;
  2. var
  3. m, n, i, min, mindiv: word;
  4. begin
  5. readln(m, n);
  6. mindiv := 1;
  7. if n < m then min := n else min := m;
  8. for i := 2 to min do begin
  9.    if (n mod i = 0) and (m mod i = 0) then begin
  10.      mindiv := i;
  11.      break
  12. end
  13. end;
  14. if mindiv <> 1 then writeln(mindiv) else writeln('No divisors!')
  15. end.

0036.-MinDivisor.rar [712 b] (cкачувань: 6)

скачать dle 10.4фильмы бесплатно Наступна сторінка » Завдання № 37. Перевірити, чи є натурал... Попередня сторінка » Завдання № 35. Вивести на екран x, запис...