rebet61
?>

Написать программу, которая выводит на экран таблицу умножения (для заданного числа от 1 до 10)

Информатика

Ответы

dddddd68
Компьютерная программа scratch
ruslanchikagadzhanov
Все удачные наборы команд должны включать остановку на отметке 12 футов.
На отметку 1 фут робот может попасть с одной команды A;
на отметку 2 фута - с команд AA и B (всего 2 набора команд);
на отметку 3 фута - с команд AAA, AB, BA и C (4 набора).
Так как за одну команду робот может переместиться на 1, 2 или 3 фута, то для подсчета количества наборов команд, позволяющих роботу попасть на отметки N > 3, можно использовать формулу
K(N) = K(N-1)+K(N-2)+K(N-3).
Напимер, на отметку 4 фута робот может попасть с отметок 3, 2 или 1 фут, следовательно, количество попасть на отметку 4 определяется как K(3)+K(2)+K(1).
K(4) = K(3)+K(2)+K(1) = 4+2+1 = 7
K(5) = K(4)+K(3)+K(2) = 7+4+2 = 13
K(6) = K(5)+K(4)+K(3) = 13+7+4 = 24
K(7) = K(6)+K(5)+K(4) = 24+13+7 = 44
K(8) = K(7)+K(6)+K(5) = 44+24+13 = 81
K(9) = K(8)+K(7)+K(6) = 81+44+24 = 149
K(10) = K(9)+K(8)+K(7) = 149+81+44 = 274
K(11) = K(10)+K(9)+K(8) = 274+149+81 = 504
K(12) = K(11)+K(10)+K(9) = 504+274+149 = 927
Так как вторая часть пути робота также имеет длину 12, то общее количество удачных наборов команд = 927*927 = 859 329
rusmoney92
PascalABC.NET 3.3.5, сборка 1650 от 01.04.2018
Внимание! Если программа не работает, обновите версию!

procedure BubbleSort(a:array of integer;
    descending:Boolean:=False; // нужна ли сортировка по невозрастанию
    u:integer:=-1; // начальный индекс
    v:integer:=-1); // конечный индекс
// Простая пузырьковая сортировка элементов с индексами с u по v
begin
  // обеспечим корректность параметров u и v
  if u<0 then u:=0;
  var n:=a.Length;
  if (v<0) or (v>=n) then v:=n-1;
  if u>v then Swap(u,v)
  else if u=v then Exit;
  // собственно, сортировка
  if descending then begin // по невозрастанию
    for var i:=v-1 downto u do
      for var j:=u to i do
        if a[j]<a[j+1] then Swap(a[j],a[j+1])
    end
  else begin
    for var i:=v-1 downto u do // по неубыванию
      for var j:=u to i do
        if a[j]>a[j+1] then Swap(a[j],a[j+1])
    end
end;

begin
  Write(': ');
  var a:=ArrRandom;
  a.Println;
  var (imin,imax):=(a.IndexMin,a.IndexMax);
  var b:=Copy(a);
  Write('1: '); BubbleSort(b,False,0,imax); b.Println;
  b:=Copy(a);
  Write('2: '); BubbleSort(b,False,imin); b.Println;
  b:=Copy(a);
  Write('3: '); BubbleSort(b,True,imax,imin); b.Println
end.

Пример
 : 70 61 10 72 17 84 19 35 83 47
1: 10 17 61 70 72 84 19 35 83 47
2: 70 61 10 17 19 35 47 72 83 84
3: 70 61 84 72 17 10 19 35 83 47

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

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

Написать программу, которая выводит на экран таблицу умножения (для заданного числа от 1 до 10)
Ваше имя (никнейм)*
Email*
Комментарий*

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

Елена
shef3009
Vitalevna1186
zelreiki
kengyra
okykovtun31
Григорьевич915
Boldinova-Marianna
Yurevna
ElenaEgorova1988576
Nataliya Aleksandr1197
poch23420
ibombenkova
serkinn69
lakeeva90