В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Djunisova
Djunisova
22.11.2021 05:15 •  Информатика

Составте диалог на тему《Может ли робот заменить человека

Показать ответ
Ответ:
AgamanDi
AgamanDi
21.11.2021 00:15
Если время выполнения не важно, то полный перебор.  Любое число можно представить в виде суммы не более 9 кубов.

var i,j,k,n,m,p,r,s,u,v,nm,nmb: integer;
    a: array[0..400] of integer;
    b: array[1..9,1..3] of integer;
begin
  write('число: ');  readln(nm);
  r:=floor(power(nm,1/3))+1;
  a[0]:=0;
// заполнение массива
  for i:=1 to r do a[i]:=i*i*i; 
// заполнение массива циклов
// изначально 1 цикл     
  b[1,1]:=1;  b[1,2]:=0;  b[1,3]:=r;
  nmb:=1;
  for i:=2 to 9 do
  begin
    b[i,1]:=0;  b[i,2]:=0;  b[ i,3]:=0;
   end;
// полный перебор  
  repeat
    for i:=b[1,1] to b[1,3] do
    for j:=b[2,1] to b[2,3] do
    for k:=b[3,1] to b[3,3] do
    for n:=b[4,1] to b[4,3] do
    for m:=b[5,1] to b[5,3] do
    for p:=b[6,1] to b[6,3] do
    for s:=b[7,1] to b[7,3] do
    for u:=b[8,1] to b[8,3] do
    for v:=b[9,1] to b[9,3] do
    if a[i]+a[j]+a[k]+a[n]+a[m]+a[p]+a[s]+a[u]+a[v]=nm then
    begin
       b[1,2]:=i;  b[2,2]:=j;  b[3,2]:=k;  b[4,2]:=n;  b[5,2]:=m;
       b[6,2]:=p;  b[7,2]:=s;  b[8,2]:=u;  b[9,2]:=v;
       for nm:=1 to nmb do write(b[nm,2],' ');
       writeln;
       exit;
    end;
    inc(nmb);
    b[nmb,1]:=1;
    b[nmb,3]:=r;
  until false;
end.

число: 2020
1 1 1 7 7 11 
2020 = 1^3 + 1^3 + 1^3 + 7^3 + 7^3 + 11^3
0,0(0 оценок)
Ответ:
Лобан1
Лобан1
29.06.2020 15:13
// PascalABC.NET 3.3, сборка 1600 от 23.12.2017
// Внимание! Если программа не работает, обновите версию!

function kolichestvo(c:array [,] of integer):integer;
begin
  Result:=0;
  var n:=c.RowCount;
  for var i:=1 to n-1 do
    for var j:=n-i to n-1 do
    if c[i,j].IsEven then Result+=1
end;

function massiv:array[,] of integer;
begin
  var n:=ReadInteger('Число строк/столбцов: ');
  Result:=MatrRandom(n,n,-99,99)
end;

begin
  var s:=massiv; s.Println(4); Writeln(4*s.ColCount*'-');
  var n:=massiv; n.Println(4); Writeln(4*n.ColCount*'-');
  var m:=Sqr(kolichestvo(s)+kolichestvo(n));
  Writeln('M=',m)
end.

Пример
Число строк/столбцов:  3
 -77 -81  82
 -30 -37  39
  31  92  12

Число строк/столбцов:  6
  66   9 -64 -53  13 -61
  16 -72 -25  38 -19  21
  40  29  38  77 -38  11
  31  76 -83 -17 -58   1
  -2  39 -63  84 -35 -42
 -23 -75 -57  92 -14 -73

M=64
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота