fominovaVladislav1346
?>

Вовочка играл с числами. первое он брал случайное число кратное 3, но не больше 1000. каждое последующее число он получал путём суммирования кубов цифр предыдущего. он проделывал эту процедуру n-ое количество раз, пока не получал число 153. послу чего брал новое число. вывести на экран последовательность чисел, записанную вовочкой. например: 33 3^3 + 3^3=54 5^3+4^3=189 1^3+8^3+9^3=1242 1^3+2^3+4^3+2^3=81 8^3+1^3=513 5^3+1^3+3^3=153 пример: ввод рандом вывод: исходное число 33 54 189 1242 81 513 153

Информатика

Ответы

lebedevevgen
//PascalABC.NET 3.2 сборка 1813

Var
 n,r,i:integer;
 s:string;
begin
n:=1;
while n mod 3<>0 do
n:=random(1001);
writeln('Рандомное число:',n);
s:=inttostr(n);
while n<>153 do
  begin
    n:=0;
    for i:=1 to length(s) do
      n:=n+round(power(strtoint(s[i]),3));
    s:=inttostr(n);
    write(s,' ');
  end;
end.

Пример работы программы:
Рандомное число:255
258 645 405 189 1242 81 513 153 
dmitrievanata83538
//PascalABC.NET (версия 3.1, сборка 1196 от 09.03.2016)
function
Transpose(a: array[,] of integer): array[,] of integer;
//Поворот на 90гр по часовой стрелке
begin
  var m := Length(a, 0);
  var n := Length(a, 1);
  Result := new integer[n, m];
  for var i := 0 to n-1 do begin
    for var j := 0 to m-1 do
      Result[i, j] := a[m-1-j, i];
  end;
end;

begin
  var n := ReadInteger('Введите n:');
//Заполнение матрицы NxN сл. числами и вывод на экран
  var a :=MatrixRandom(n, n);
  for  var i:=0 to n-1 do begin
    for var j:=0 to n-1 do
      Print(a[i,j]);
    println;
    end;
     println;

  Println('поворот влево на 90 гр');
  var b := Transpose(a);
  b:=Transpose(b);
  b:=Transpose(b);
  for  var i:=0 to n-1 do begin
    for var j:=0 to n-1 do
      Print(b[i,j]);
    println;
    end;
  println;

  Println('поворот вправо на 90гр');
  b := Transpose(a);
  for  var i:=0 to n-1 do begin
    for var j:=0 to n-1 do
      Print(b[i,j]);
    println;
    end;
 println;

 Println('поворот на 180 гр');
  b := Transpose(a);
  b := Transpose(b);
  for  var i:=0 to n-1 do begin
    for var j:=0 to n-1 do
      Print(b[i,j]);
    println;
    end;
end.
Воздвиженская
1. В "реальном мире" это решается примерно так:

// PascalABC.NET 3.1, сборка 1198 от 11.03.2016
begin
  var a:=ArrRandom(ReadInteger('n='),0,2); a.Println;
  a.Sorted.Println
end.

Тестовое решение:
n= 15
1 2 0 2 2 0 2 0 2 0 0 1 0 0 2
0 0 0 0 0 0 0 1 1 2 2 2 2 2 2

2. Но, поскольку считается, что школьникам больше заняться нечем, их заставляют писать примерно в таком стиле (и время займет, и ощибок понаделают):

// PascalABC.NET 3.1, сборка 1198 от 11.03.2016
const
  nn=100;
var
  i,j,n,t:integer;
  a:array[1..nn] of integer;
begin
  Write('n='); Read(n);
  Randomize;
  for i:=1 to n do begin
    a[i]:=Random(3);
    Write(a[i],' ')
    end;
  Writeln;
  for i:=1 to n-1 do
    for j:=1 to n-1 do
      if a[j]>a[j+1] then begin
        t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t
        end;
  for i:=1 to n do Write(a[i],' ');
  Writeln;
end.

Тестовое решение:
n=15
0 1 1 0 2 1 0 2 1 2 1 0 0 2 0
0 0 0 0 0 0 1 1 1 1 1 2 2 2 2

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

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

Вовочка играл с числами. первое он брал случайное число кратное 3, но не больше 1000. каждое последующее число он получал путём суммирования кубов цифр предыдущего. он проделывал эту процедуру n-ое количество раз, пока не получал число 153. послу чего брал новое число. вывести на экран последовательность чисел, записанную вовочкой. например: 33 3^3 + 3^3=54 5^3+4^3=189 1^3+8^3+9^3=1242 1^3+2^3+4^3+2^3=81 8^3+1^3=513 5^3+1^3+3^3=153 пример: ввод рандом вывод: исходное число 33 54 189 1242 81 513 153
Ваше имя (никнейм)*
Email*
Комментарий*

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

Petrosienko_Larisa,1908
abakas235
Kashtanov Anna
Kuznetsova1639
lalaland2744
ulechkaevseeva
kirik197308
Староческуль-Станиславовна
Чему равна основание 8-ричной системы счисления
Александр1991
Telenkovav
vera-spicina
expozition
misstimarina2016
marinarodina90
васильевич