Помогите с информатикой, пожалуйста. 1. Напишите программу, которая выводит ** экран все...

0 голосов
30 просмотров

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


Информатика (749 баллов) | 30 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
// 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
(150k баллов)
0

Вы случаем не являетесь со автором PascalABC.NET?

0 голосов

Код в приложении.
Собрал (исправил) все в одном.
Источники:
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


image
(444 баллов)
0

Благодарю!

0

Ну я рад за тебя )))

0

Ты кто, чувак?