Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2010, 14:08   #1
U_r0ck
 
Регистрация: 19.12.2010
Сообщений: 6
По умолчанию Простые числа. Задача.

Здравствуйте Уважаемые,
Прошу о помощи, так как уже не знаю куда обратиться. В колледже задали следующую задачку: "Выписать все простые числа, находящиеся в интервале между 100 и 999. Простым называется число, которое делится только на единицу и на само себя". Мучаюсь уже не первый день...

Насколько я понимаю задачу... Мне нужно написать цикл, который бы помещал в переменную число 100, делал проверку, делится ли оно на само себя или один, и выводило результат на экран в форму с припиской каким число является. Затем цикл повторялся, но в переменную уже помещалось число не 100, а 101, 102, 103, 104... и так далее. Поправьте, если я не прав.

Накидал вот что... Понимаю, что код не идеален, и неработоспособен. Хотелось бы услышать, в правильном ли ключе я иду? А также увидеть вариант(ы) решения данной задачи с объяснением. Заранее благодарен на скорейший ответ.

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    StaticText1: TStaticText;
    StaticText2: TStaticText;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  n,r,d : integer;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
for n:=100 to 999 do
    d:=2;
    repeat
    r := n mod d;
    if r <> 0
    then StaticText1.Caption:='Число' +IntToStr(n) 'простым не является'
    else StaticText2.Caption:='Число является простым'
    until n>999;
    end;
end.

Последний раз редактировалось U_r0ck; 19.12.2010 в 14:25.
U_r0ck вне форума Ответить с цитированием
Старый 19.12.2010, 15:46   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Загляни ка сюда:http://www.programmersforum.ru/showthread.php?t=30673
а заодно в конец страницы где есть похожие темы.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.12.2010, 19:50   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

мне нравится такая функция проверки числа на простоту.
я её везде, где предоставляется возможность - привожу:
Код:
function isPrime(X: word): boolean;
var i: word;
Begin
     isPrime:=false;
     if x<2 then Exit;
     if not odd(x) and (x<>2) { проверяем на чётность  }
          then exit;
     i:=3;
     while i <= sqrt(x) do { проверяем только нечётные }
     begin
          if x mod i = 0 then Exit;
          inc(i,2);
     end;
     isPrime:=true;
End;
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача Delphi про простые числа Crysta Помощь студентам 0 07.12.2010 19:50
простые числа Koko Shanel' Помощь студентам 2 08.09.2010 01:13
Простые числа anksunamun Паскаль, Turbo Pascal, PascalABC.NET 5 16.10.2009 20:03
Простые числа Verochka Помощь студентам 14 02.12.2008 20:30
простые числа Акашаев Нурлан Паскаль, Turbo Pascal, PascalABC.NET 2 05.12.2007 12:23