3*16^8 = 3*(4^2)^8 = 3*4^16 - в четверичной системе записывается как тройка и 16 нулей.
4^5 - в четверичной системе - единица и 5 нулей
При вычитании 3*4^16 - 4^5 старшая 3 превращается в 2, а все нули, кроме пяти последних - в 3. Т.е. получившееся число записывается как 2, 11 троек и 5 нулей.
// PascalABC.NET 3.2, сборка 1437 от 03.05.2017 // Внимание! Если программа не работает, обновите версию!
begin var a:=MatrRandom(6,3,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); a.Rows.Select(r->r.Where(x->x>0).Sum).Print; Println(' - суммы положительных');
Writeln; var z:=MatrRandom(3,5,-10,20); z.Println(4); Writeln(4*z.ColCount*'-'); z.Rows.SelectMany(x->x).Where(x->(x>0) and (x<15)).Println end.
4^5 - в четверичной системе - единица и 5 нулей
При вычитании 3*4^16 - 4^5 старшая 3 превращается в 2, а все нули, кроме пяти последних - в 3. Т.е. получившееся число записывается как 2, 11 троек и 5 нулей.
+3 - вместо последнего 0 теперь 3.
В итоге получается 12 троек в записи числа.