соловьев_Куркина
?>

Распределт данные слова по трём спискам. выполнить в рабочей тетради. карандаш ручка мелок цвет длина красный синий чёрный круглый форма объекты |имена свойства объектов| значение свойства цвет| какие слова не удалось записать не в один столбик?

Информатика

Ответы

shoko-2379
Обьекты-Карандаш, ручка, мелок. Свойства-Круглый, Красный, Синий, Черный.
Сергеевна-Иван1045

var i,n,m,sum,pr,k,j:longint;

begin

 sum:=0; pr:=1;

 write('m: '); readln(m);

 write('n: '); readln(n);

 i:=2;

 repeat

   if m mod i = 0 then

     begin

       sum:=sum+i;

       m:=m div i;

       i:=2;

     end

       else inc(i);

 until m=1;

 writeln('Sum_M:', sum);

 for i:=2 to n div 2 do

   if n mod i = 0 then

     begin

       k:=2;

       for j:=2 to i div 2 do

         if i mod j = 0 then inc(k);

       if (k>2)and(i mod 3 = 0 ) then

         pr:=pr*i;

     end;  

 writeln('Proizv_N:', pr);

 if sum>pr then writeln('Da, sum prost del M > proizv sost del N')

   else

     writeln('Net, sum prost del M < proizv sost del N');

end.

tershova
Const PTR = 10;
type razbivka = array[0..PTR] of byte;
var n, i, z, k: byte;
x: razbivka;
procedure p(var x: razbivka; var z: byte);
var i, j, s: byte;
begin
i := z - 1;
s := x[z];
while (i > 1) and ( x[i - 1] <= x[i] ) do
begin
s := s + x[i];
dec(i);
end;
inc( x[i] );
z := i + s - 1;
for j := i + 1 to z do
x[j] := 1;
end;
begin
write('Введите число: ');
readln(n);
write(n,' = ');
z := n;
for i := 1 to z do
x[i] := 1;
for i := 1 to n do begin
if i > 1 then write(' + ');
write( x[i], '' );
end;
writeln;
repeat
p( x, z );
inc(k);
write( n,' = ' );
for i := 1 to z do begin
if i > 1 then write(' + ');
write( x[i], '' );
end;
writeln;
until z = 1;
end.

p.s: нашел в интернете для вас вариант с рекурсией. Сами можете убедиться, что с ней только хуже (по быстродействию уж точно)

const  m = 100;
var  a: array[1..m] of integer;
k, n: integer;
procedure p(j,n: integer);
var  i: integer;
begin if ( n = 0 ) and ( k > 1 ) then
begin  for i := 1 to k do
write( a[i] : 4 );
writeln;
end else for i := j to n do
begin
Inc(k);
a[k] := i;
p( j, n - i );
Dec(k);
end;
end;
begin
write('Введите число: ');
readln(n);
k := 0;
p(1,n);
end.

значения PTR и m можно поставить и больше, но тогда я не ручаюсь)

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

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

Распределт данные слова по трём спискам. выполнить в рабочей тетради. карандаш ручка мелок цвет длина красный синий чёрный круглый форма объекты |имена свойства объектов| значение свойства цвет| какие слова не удалось записать не в один столбик?
Ваше имя (никнейм)*
Email*
Комментарий*

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

marinakovyakhova
marinamarinazmeeva2444
Апраксин Владимир897
Vorotko814
svetkinm158
bufetkonfet53
officem695
11111111111111111111111111111​
Александрович686
brovkinay
avdeevo
Maria095096
bryzgalovag
спец Михасов
veraplucnika
nurtilekisakov