Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Turbo Pascal. Процедуры и функции (http://www.tehnari.ru/f41/t95096/)

Spidey-Goblin 09.03.2014 20:01

Turbo Pascal. Процедуры и функции
 
Выполнить вариант задания из таблицы, используя подпрограммы требуемого типа. На печать выведите исходные массивы и конечный результат с полными комментариями.
Таблица:
Составить процедуру нахождения простых чисел, используя следующий метод: нечётное число >3 будет простым, если оно не делиться ни на один простой делитель, меньший его по величине. Найдите все простые числа в интервале:
1) от 1 до 150;
2)от 130 до 400.

Vladimir_S 09.03.2014 20:46

Цитата:

Сообщение от Spidey-Goblin (Сообщение 1013407)
Составить процедуру нахождения простых чисел, используя следующий метод: нечётное число >3 будет простым, если оно не делиться ни на один простой делитель, меньший его по величине. Найдите все простые числа в интервале: 1) от 1 до 150; 2)от 130 до 400.

Пожалуйста. Примененный метод поиска простых чисел в точности соответствует указанному в задании алгоритму:
Код:

Var
 Pr:Array[1..200] of Word;
 Npr,p,q:Word;

Procedure Find_Primes;
var
 i,j:Word;
 b:boolean;
begin
 Npr:=1;
 Pr[1]:=3;
 for i:=2 to 200 do
  begin
  b:=true;
  for j:=1 to Npr do
    if ((2*i+1) mod Pr[j])=0 then b:=false;
  if b then
    begin
    Inc(Npr);
    Pr[Npr]:=2*i+1;
    end;
  end;
end;

Begin
 Find_Primes;
 Writeln('Result 1:');
 for p:=3 to 150 do
  for q:=1 to Npr do
  if p=Pr[q] then write(p:4);
 Writeln;
 Writeln;
 Writeln('Result 2:');
 for p:=130 to 400 do
  for q:=1 to Npr do
  if p=Pr[q] then write(p:4);
 Writeln;
 Readln
End.


Spidey-Goblin 10.03.2014 14:22

Спасибо огромное!)


Часовой пояс GMT +4, время: 11:55.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.