Анна Марина1873
?>

Программа паскаль. пользователь вводит целое число, надо его вывести как несколько простых (пример 112=2*2*2*2*7)

Информатика

Ответы

migreen
Поиск простых делителей числа:

var i,j,n:longint;
    f:boolean;
begin
 writeln('Введите число');
 readln(n);
  if n<2 then writeln('Простых делителей нет')
  else
   begin
    write('Число ',n,' ','= 1');
    for i:=2 to n do
     if n mod i=0 then
      begin
       f:=true;
       j:=2;
       while f and(j<=round(sqrt(i/2)))do
        begin
         if i mod j=0 then f:=false
         else j:=j+1;
        end;
      if f then write('*',i);
     end;
   end;
end.

Тестовое решение:

Введите число
2345
Число 2345 = 1*5*7*35*67
arionul-secondary2

uses GraphABC;

type FUN = function (x: real): real;

function f(x: real): real;
begin
f:=0.5*x*cos(2*x);
end;

// l (logical) - логические координаты
// s (screen) - физические координаты
procedure drawGraph(x1,x2,y1,y2: real; f: FUN);
var
xl,xl0,wl,yl,yl0,hl: real;
xs0,ws,ys0,hs: integer;
function LtoSx(xl: real): integer;
begin
Result:=round(ws/wl*(xl-xl0)+xs0);
end;
function LtoSy(yl: real): integer;
begin
Result:=round(hs/hl*(yl-yl0)+ys0);
end;
function StoLx(xs: integer): real;
begin
Result:=wl/ws*(xs-xs0)+xl0;
end;
var xi: integer;
begin // drawGraph
xs0:=0; ys0:=WindowHeight;
ws:=WindowWidth;
hs:=WindowHeight;
xl0:=x1;
yl0:=y1;
wl:=x2-x1;
hl:=-(y2-y1);
MoveTo(xs0,LtoSy(f(StoLx(xs0;
for xi:=xs0+1 to xs0+ws do
LineTo(xi,LtoSy(f(StoLx(xi;
end;

begin // program
SetWindowCaption('График функции');
drawGraph(-12,12,-23,23,f);
end.

assistant

пример программы для паскаль

Program a;

const n = 50;
var
i:byte;
B:array[1..n] of word;
procedure proc(A:array of word);
begin
for i:=1 to n do
if((129 <= A[i]) and (A[i] <= 160)) or    
((161 <= A[i]) and (A[i] <=175)) or     
((225 <= A[i]) and (A[i] <= 242)) then
Writeln('index =  ',i+1,'; bukva - ''',char(A[i]),,'  A[i] = ',A[i]);
end;

Begin
writeln;
for i:=1 to n do       
B[i] := random(300);
for i:=1 to n do Begin         
write(' ',i,' = ',B[i]);
if (i mod 5 = 0) then writeln;
end;
writeln;
writeln;
proc(B);          
readln;

end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Программа паскаль. пользователь вводит целое число, надо его вывести как несколько простых (пример 112=2*2*2*2*7)
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Nikolai710
Yevgenevna
antoska391
vettime625
kisuhakisa
ASRodichev
teya07
gelena03
Leonidovich_Elena771
ПетровичЖивотовская1245
uvarovig
Railyan
mishamedbrat
Акимцева27
gusrva3001