
Напишите программу, которая выводит на экран все простые числа в диапазоне от 1 до числа,
введенного с клавиатуры. Напишите функцию, которая находит наибольший общий делитель для двух заданных чисел.

Ответы на вопрос

program pr1;
uses crt;
var n,k,i,t:integer;
begin
clrscr;
write('Введите целое число n=');
readln (n);
for i:=2 to n do begin
t:=0;
for k:=2 to n do
if i mod k=0 then t:=t+1;
if t=1 then write(i:3);
end;
readln;
end.
2.
Program pr2;
Var a, b: Integer;
Function NOD(a, b: Integer): Integer;
Var tmp, r: Integer;
Begin
If b > a Then
Begin
tmp := a;
a := b;
b := tmp;
End;
tmp := a;
While tmp > 0 Do
Begin
Result := tmp;
tmp := tmp - b;
End;
End;
Begin
Write('a = ');
ReadLn(a);
Write('b = ');
ReadLn(b);
Write('НОД: ', NOD(a, b));
ReadLn;
End.



Программа для вывода простых чисел в заданном диапазоне
Для написания программы, которая выводит на экран все простые числа в заданном диапазоне, можно использовать алгоритм проверки чисел на простоту. Вот пример программы на языке Python:
```python def is_prime(n): if n <= 1: return False for i in range(2, int(n**0.5) + 1): if n % i == 0: return False return True
start = 1 end = int(input("Введите число: "))
print("Простые числа в диапазоне от", start, "до", end, ":") for num in range(start, end + 1): if is_prime(num): print(num) ```
В этой программе мы сначала определяем функцию `is_prime`, которая проверяет, является ли число простым. Затем мы запрашиваем число от пользователя и выводим все простые числа в заданном диапазоне.
Функция для нахождения наибольшего общего делителя
Для написания функции, которая находит наибольший общий делитель (НОД) для двух заданных чисел, можно использовать алгоритм Евклида. Вот пример функции на языке Python:
```python def gcd(a, b): while b != 0: a, b = b, a % b return a
num1 = int(input("Введите первое число: ")) num2 = int(input("Введите второе число: "))
result = gcd(num1, num2) print("Наибольший общий делитель чисел", num1, "и", num2, ":", result) ```
В этой функции мы используем алгоритм Евклида, который заключается в последовательном делении двух чисел до тех пор, пока остаток не станет равным нулю. На каждой итерации мы обновляем значения `a` и `b` таким образом, чтобы `a` было равно `b`, а `b` было равно остатку от деления `a` на `b`. Когда остаток становится равным нулю, `a` будет содержать наибольший общий делитель.
Примечание: Обратите внимание, что в обоих примерах предполагается, что пользователь вводит целые числа. Если вам нужно обрабатывать ввод с плавающей запятой или другие типы данных, вам может потребоваться добавить соответствующую проверку и обработку в программу или функцию.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili