Найдите минимальное простое число с заданной суммой цифр — Pascal(Паскаль)

uses crt;
var m,i,k:longint;
 
function prime(n:longint):boolean;
var i:longint;
begin
 prime:=true;
 for i:=2 to round(sqrt(n)) do if n mod i=0 then
 begin
  prime:=false;
  break;
 end;
end;
 
function sum(n:longint):integer;
var s:integer;
begin
 s:=0;
 while n<>0 do
 begin
  s:=s+n mod 10;
  n:=n div 10;
 end;
 sum := s;
end;
 
begin
 clrscr;
 write('M -> ');
 readln(m);
 k:=0;
 for i:=2 to 10000 do if prime(i) and (sum(i)=m) then
 begin
  k:=i;
  break;
 end;
 if k>0 then writeln(k) else writeln('Такого числа на промежутке нет!');
 readln;
end.

Leave a Comment

42 − = 38