М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
qwerty91a
qwerty91a
31.03.2023 07:05 •  Информатика

Найти количество вариантов, для заполнения поля 12х2 фигурами 1х2 или 2х1 (использовать можно всего 12 раз ( фигуры 1х2 или 2х1 )) зы.сы. поле 3х2 можно заполнить тремя желательно вместе с кодом, но можно и просто число.

👇
Ответ:
К1а2т3я456
К1а2т3я456
31.03.2023
Тебя интересует левое верхнее число из матрицы \begin{pmatrix}
1 & 1 \\ 1 & 1
\end{pmatrix}^{12}, что, кстати, является 12 числом фибоначчи

#include <iostream>
// матрица 2 на 2// a  b// c  dtemplate< typename T = int >class matrix2{public:    T a, b, c, d;
    matrix2() : a(0), b(0), c(0), d(0)    {}    matrix2(T a, T b, T c, T d) : a(a), b(b), c(c), d(d)    {}
    matrix2 & operator *= (matrix2 & other)    {        T ta, tb, tc, td;        ta = a * other.a + b * other.c;        tb = a * other.b + b * other.d;        tc = a * other.c + c * other.d;        td = b * other.c + d * other.d;        a = ta, b = tb, c = tc, d = td;    }
    matrix2 operator * (matrix2 & other)    {        T ta, tb, tc, td;        ta = a * other.a + b * other.c;        tb = a * other.b + b * other.d;        tc = a * other.c + c * other.d;        td = b * other.c + d * other.d;        return matrix2(ta, tb, tc, td);    }
    matrix2 pow(int power)    {        matrix2 result(1, 0, 0, 1);        matrix2 cur = *this;        while (power)        {            if (power & 1)            {                power ^= 1;                result *= cur;            }            else            {                power >>= 1;                cur *= cur;            }        }        return result;    }
    void operator = (matrix2 other)    {        a = other.a;        b = other.b;        c = other.c;        d = other.d;    }
    friend std::ostream & operator << (std::ostream & ostr, matrix2 ma)    {        ostr << std::endl;        ostr << ma.a << "  " << ma.b << std::endl;        ostr << ma.c << "  " << ma.d << std::endl;        return ostr;    }
};
int main(void){    matrix2< int > m1(1, 1, 1, 0), tmp;
    const int N = 12;
    std::cout << m1.pow(N).a;
    return 0;}
4,4(6 оценок)
Открыть все ответы
Ответ:
sophiexmartinez
sophiexmartinez
31.03.2023
А) не ( A или не В и С ) упрощаем выражение и получаем
not(a) and (b or not(c))

Код на Python:

for a in range(0,2):
    for b in range(0,2):
        for c in range(0,2):
            f=not(a) and (b or not(c))
            print('A = ',a,'B = ',b,'C = ',c,'F = ',f)

б) А и не ( В и или не С) получим такое выражение:
a and (b or not(c))

Код на Python:

for a in range(0,2):
    for b in range(0,2):
        for c in range(0,2):
            f=a and (b or not(c))
            print('A = ',a,'B = ',b,'C = ',c,'F = ',f)


в) не ( не А или В и С)  преобразуем:
a and (b or c)

Код на Python:

for a in range(0,2):
    for b in range(0,2):
        for c in range(0,2):
            f=a and (b or c)
            print('A = ',a,'B = ',b,'C = ',c,'F = ',f)
4,7(44 оценок)
Ответ:
muratowaasya
muratowaasya
31.03.2023
1. Для цикла For

var
  x,n,p:longint;
  i:integer;
begin
  readln (x,n);
  p:=1;
  for i := 1 to N do
    p:=p*x;
  writeln(x,' в степени ',n,' равно ',p );
end.

2. Для цикла While
var
  x,n,p:longint;
  i:integer;
begin
  readln (x,n);
  p:=1;
  i:=1;
  while i<=n do begin
    p:=p*x;
    i:=i+1;
  end;
  writeln(x,' в степени ',n,' равно ',p );
end.

3. Для цикла Repeat

var
  x,n,p:longint;
  i:integer;
begin
  readln (x,n);
  p:=1;
  i:=1;
  repeat
    p:=p*x;
    i:=i+1;
  until i>n;
  writeln(x,' в степени ',n,' равно ',p );
end.
4,6(52 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ