Помогите с информатикой, пожалуйста. 1. Напишите программу, которая выводит на экран все простые числа в диапазоне от 1 до числа, введенного с клавиатуры. 2. Напишите функцию, которая находит наибольший общий делитель для двух...
Помогите с информатикой, пожалуйста.
1. Напишите программу, которая выводит на экран все простые числа в диапазоне от 1 до числа, введенного с клавиатуры.
2. Напишите функцию, которая находит наибольший общий делитель для двух заданных чисел.
Язык: Паскаль
Ответ(ы) на вопрос:
Гость
Код в приложении.
Собрал (исправил) все в одном.
Источники:
http://samplecode.ru/?a=p&i=1494
http://festival.1september.ru/articles/592067/
Пример работы:
n = 50
Простые числа:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
x , y = 89 7921
Наибольший общий делитель: 89
Гость
// PascalABC.NET 3.2, сборка 1362 от 14.12.2016
// Внимание! Если программа не работает, обновите версию!
function IsPrime(m:integer):=(Range(2,Round(sqrt(m))).All(x->m mod x<>0));
begin
var n:=ReadInteger('n=');
Range(1,n).Where(i->IsPrime(i)).Println
end.
Пример
n= 318
1 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317
// PascalABC.NET 3.2, сборка 1362 от 14.12.2016
// Внимание! Если программа не работает, обновите версию!
function NOD(m,n:integer):integer;
begin
while n>0 do (m,n):=(n,m mod n);
Result:=m
end;
begin
var a,b:integer;
Write('Введите пару натуральных чисел:'); Read(a,b);
Writeln('НОД=',NOD(a,b))
end.
Пример
Введите пару натуральных чисел:7955 5661
НОД=37
Не нашли ответ?
Похожие вопросы