Консультация № 200391
05.03.2021, 11:38
0.00 руб.
0 1 1
Уважаемые эксперты! Пожалуйста, нужна помощь в решении задачи на Delphi.
Дана последовательность целых чисел. Длину последовательности задавать с клавиатуры (в Edit через Button выводить в Memo). Числа в последовательности задавать случайным образом из диапазона от 100 до 999. Найти все трехзначные простые числа - число, больше 1, называется простым , если оно не имеет положительных делителей, кроме 1 и самого себя. (Определить функцию, позволяющую распознавать простые числа.)

Обсуждение

давно
Старший Модератор
31795
6196
09.03.2021, 13:12
общий
это ответ
Здравствуйте, Edison!

Код Lazarus
[code lang=pascal h=350]unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, Math;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: char);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
function prime(a:integer):boolean;
var
b:integer;
begin
b:=a-1;
while (b>1)and((a mod b) >0)do dec(b);
prime:=b=1;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: char);
begin
if not(Key in ['0'..'9'])then Key:=#0;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i,j:integer;
begin
for i:=1 to StrToInt(Edit1.Text) do
begin
j:=RandomRange(100,999);
if prime(j) then Memo1.Lines.Add(IntToStr(j));
end;
end;
end.[/code]

Удачи!
5
Evaluation - 5
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа