Program n1; var k,n,i: longint; co: byte; function simply(a: longint ):boolean; var i: longint; begin simply:=true; for i:=2 to trunc(sqrt(a)) do begin if a mod i=0 then begin simply:=false; break end end end; function cr(a: longint): boolean; var n: longint; begin n:=a; cr:=false; repeat n:=n div 10; until n mod 10 =n; if n=(a mod 10) then begin cr:=true; end; end; begin readln(k,n); for i:=k to n do if simply(i) then begin if (i=2) or (i=3) or (i=5) or (i=7) or cr(i) then begin write(i,' '); co:=1; end end; if co=0 then write(0); end.
// PascalABC.NET 3.3, сборка 1540 от 16.09.2017 // Внимание! Если программа не работает, обновите версию!
begin var a:=ReadArrInteger(ReadInteger('n=')); var b:=a.Distinct.OrderBy(x->x).ToArray; b.Println end.
Пример n= 7 3 -5 6 3 3 4 1 -5 1 3 4 6
begin var n1:=ReadInteger('Длина первого массива-'); var c:=ReadSeqInteger('Вводите массив:',n1).OrderBy(x->x).ToArray; var n2:=ReadInteger('Длина второго массива-'); var d:=ReadSeqInteger('Вводите массив:',n2).OrderBy(x->x).ToArray; //собственно слияние var f:=new integer[n1+n2]; var (ic,id,&if):=(0,0,0); repeat if c[ic]<d[id] then begin f[&if]:=c[ic]; ic+=1 end else begin f[&if]:=d[id]; id+=1 end; &if+=1 until (ic=n1) or (id=n2); if ic=n1 then repeat f[&if]:=d[id]; id+=1; &if+=1 until id=n2 else repeat f[&if]:=c[ic]; ic+=1; &if+=1 until ic=n1; Write('Массив F: '); f.Println(',') end.
Пример Длина первого массива- 6 Вводите массив: 4 0 -3 6 4 2 Длина второго массива- 5 Вводите массив: 3 6 -3 0 2 Массив F: -3,-3,0,0,2,2,3,4,4,6,6
var k,n,i: longint;
co: byte;
function simply(a: longint ):boolean;
var i: longint;
begin
simply:=true;
for i:=2 to trunc(sqrt(a)) do begin if a mod i=0 then begin
simply:=false;
break
end
end
end;
function cr(a: longint): boolean;
var n: longint;
begin
n:=a;
cr:=false;
repeat
n:=n div 10;
until n mod 10 =n;
if n=(a mod 10) then
begin
cr:=true;
end;
end;
begin
readln(k,n);
for i:=k to n do if simply(i) then begin if (i=2) or (i=3) or (i=5) or (i=7) or cr(i) then
begin
write(i,' ');
co:=1;
end
end;
if co=0 then write(0);
end.
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ReadArrInteger(ReadInteger('n='));
var b:=a.Distinct.OrderBy(x->x).ToArray; b.Println
end.
Пример
n= 7
3 -5 6 3 3 4 1
-5 1 3 4 6
begin
var n1:=ReadInteger('Длина первого массива-');
var c:=ReadSeqInteger('Вводите массив:',n1).OrderBy(x->x).ToArray;
var n2:=ReadInteger('Длина второго массива-');
var d:=ReadSeqInteger('Вводите массив:',n2).OrderBy(x->x).ToArray;
//собственно слияние
var f:=new integer[n1+n2];
var (ic,id,&if):=(0,0,0);
repeat
if c[ic]<d[id] then begin f[&if]:=c[ic]; ic+=1 end
else begin f[&if]:=d[id]; id+=1 end;
&if+=1
until (ic=n1) or (id=n2);
if ic=n1 then
repeat
f[&if]:=d[id]; id+=1; &if+=1
until id=n2
else
repeat
f[&if]:=c[ic]; ic+=1; &if+=1
until ic=n1;
Write('Массив F: '); f.Println(',')
end.
Пример
Длина первого массива- 6
Вводите массив: 4 0 -3 6 4 2
Длина второго массива- 5
Вводите массив: 3 6 -3 0 2
Массив F: -3,-3,0,0,2,2,3,4,4,6,6