Чтобы перевести целое число Х из 10-ной системы в любую другую с основанием Q:1. делим Х на Q, в результате чего получается целая часть частного и остаток (может быть равен нулю, если разделилось нацело).2. если полученная целая часть частного меньше Q, переходим к шагу 3. Если равно или больше Q, снова делим целую часть частного на Q, как описано в шаге 1. Внимание: делится только целая часть, остаток в делении не участвует (он пригодится позже).3. все полученные остатки и последняя целая часть частного (меньшая, чем Q) преобразуются в соответствии с таблицей перевода в цифры той системы счисления, в которую выполняется перевод. Иными словами, если, к примеру, при переводе в 16-ную систему у вас получился остаток 12, то его нужно преобразовать в 16-ную цифру С.4. Получаем ответ. Его первая (старшая) цифра - последнее частное, а остальные - остатки от деления, записанные в порядке, обратном порядку их получения.Система счисления – это представления любого числа с определенного набора символов, называемых цифрами. Основание системы счисления – это количество цифр, используемых в данной системе счисления.Позиционными называются системы счисления, в которых значение цифры зависит от ее места (позиции) в записи числа. Непозиционными называются системы счисления, в которых значение цифры не зависит от ее места (позиции) в записи числа.Позиционной является привычная для нас в повседневной жизни десятичная система счисления, в которой значение (вес) цифры зависит от ее позиции в записи числа. В числе 1111 одна и та же цифра 1 означает последовательно единицу, десяток, сотню, тысячу.Все системы счисления, используемые в информатике (двоичная, восьмеричная, шестнадцатеричная и т. д.), являются позиционными. Это важно, т. к. правила образования чисел, перевода из одной системы в другую, выполнения арифметических операций во всех позиционных системах аналогичны.Непозиционной системой счисления является, например, римская. Правила выполнения арифметических операций в непозиционных системах счисления совсем иные.В 2-ной системе основание равно 2, т.е. используется всего 2 цифры - 0 и 1. В 8-ной основание равно 8, используются цифры от 0 до 7. В 16-ной системе основание равно 16, используются цифры от 0 до 15. Использование цифр 10, 11, 12, 13, 14, 15 в записи чисел неудобно, т. к. трудно отличить, например, цифру 12 от двух цифр – 1 и 2. Поэтому условились цифры от 10 до 15 обозначать латинскими буквами в порядке алфавита A, B, C, D, E, F.
Var i,j,n:integer; m: array[1..10,1..10] of integer; flag:boolean; sum: array[0..1] of longint; begin readln(n); flag:=true; for i:=1 to n do begin for j:=1 to n do read(m[i,j]); readln; end; //Проверяем строки i:=1; for j:=1 to n do sum[i mod 2]:=sum[i mod 2]+m[i,j]; while ((i<n) and flag) do begin i:=i+1; for j:=1 to n do sum[i mod 2]:=sum[i mod 2]+m[i,j]; if sum[0]<>sum[1] then flag:=false; sum[(i+1) mod 2]:=0; end; //Проверяем столбцы sum[0]:=0; sum[1]:=0; j:=1; for i:=1 to n do sum[j mod 2]:=sum[j mod 2]+m[i,j]; while ((j<n) and flag) do begin j:=j+1; for i:=1 to n do sum[j mod 2]:=sum[j mod 2]+m[i,j]; if sum[0]<>sum[1] then flag:=false; sum[(j+1) mod 2]:=0; end; sum[0]:=0; sum[1]:=0; j:=1; for i:=1 to n do begin sum[0]:=sum[0]+m[i,j]; sum[1]:=sum[1]+m[n-i+1,j]; j:=j+1; end; if sum[0]<>sum[1] then flag:=false; if flag then writeln('Магический'); end.
y = 8
х = x div y = 336 div 8 = 42
y = x mod y = 42 mod 8 = 2