SHARE
TWEET

Untitled

a guest Oct 21st, 2019 71 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. program NumbersOfMercen;
  2. uses
  3.   System.SysUtils;
  4. procedure IsPrime(m: longint; var ip: boolean);
  5. var
  6.   i,k:longint;
  7.   IsCorrect:boolean;
  8. begin
  9.     IsCorrect:=true;
  10.     if m>3 then begin
  11.     i:=3;
  12.     k:=round(sqrt(m));
  13.     if odd(m) then
  14.        repeat
  15.           if m mod i=0 then IsCorrect:=false;
  16.           inc(i);
  17.        until (i>=k) or (not IsCorrect)
  18.     else
  19.        IsCorrect:=false;
  20.     end;
  21.    ip:=IsCorrect;
  22. end;
  23. var i, sqrtn: longint;
  24.    n, m: longint;
  25.     IsCorrect: boolean;
  26. begin
  27.   IsCorrect:=False;
  28.   m := 3;
  29.   repeat
  30.   write('Введите n = ');
  31.      try
  32.        readln(n);
  33.        if n <= m then
  34.        begin
  35.           writeln('Числа Мерсена, меньшие данного числа(n), не существуют.');
  36.           IsCorrect:=False
  37.        end
  38.        else
  39.        begin
  40.           writeln('Числа Мерсена,меньшие данного числа(n):');
  41.           IsCorrect:=True;
  42.        end;
  43.      except
  44.        begin
  45.         writeln('Это не число!');
  46.         IsCorrect:=False;
  47.        end;
  48.      end;
  49.   until IsCorrect;
  50.   while n > m do
  51.              begin
  52.                IsPrime(m,IsCorrect);
  53.                if IsCorrect then writeln(m);
  54.                m := m * 2 + 1
  55.              end;
  56.   readln;
  57. end.
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top