Тебя интересует левое верхнее число из матрицы , что, кстати, является 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;}
Sharmel26
17.03.2022
//задача 1program _sqrt;var ar:array[1..100] of integer;i:integer;Res:real;beginfor i:=1 to 100 do ar[i]:=i;for i:=1 to 100 do if ar[i] mod 2=0 then res:=res+ar[i];res:=sqrt(res);write(res);end. //задача 2. 100 элементов слишком много для произведенияprogram _sqrt;var ar:array[1..10] of integer;i:integer;res:int64;beginres:=1;for i:=1 to 10 dobeginar[i]:=i;res:=res*sqr(ar[i]);end;write(res);end. //задача 3program _sqrt;var ar:array[1..100] of integer;i:integer;res:int64;beginfor i:=1 to 100 dobeginar[i]:=i;if ar[i] mod 2=1 then res:=res+ar[i];end;write(res);end.
объяснение:
объясни вопрос в чём смысл вопроса