В непозиционных системах счисления от положения цифры в записи числа не зависит величина, которую она обозначает. Примером непозиционной системы счисления является римская система, в которой в качестве цифр используются латинские буквы.В позиционных системах счисления величина, обозначаемая цифрой в записи числа, зависит от ее позиции. Количество используемых цифр называется основанием системы счисления. Место каждой цифры в числе называется позицией. Первая известная нам система, основанная на позиционном принципе – шестидесятeричная вавилонская. Цифры в ней были двух видов, одним из которых обозначались единицы, другим – десятки. Основание системы счисления, в которой записано число, обычно обозначается нижним индексом. Например, 5557 – число, записанное в семеричной системе счисления. Если число записано в десятичной системе, то основание, как правило, не указывается. Основание системы – это тоже число, и его мы будем указывать в обычной десятичной системе. Вообще, число x может быть представлено в системе с основанием p, как x =an·pn +an – 1·pn–1 + a1·p1 + a0·p0, где an...a0 – цифры в представлении данного числа. Так, например,103510=1·103 + 0·102 + 3·101 + 5·100;10102 = 1·23 + 0·22 + 1·21 + 0·20 = 10. так что ли не знаю я всё скопировал из электронного учебника
Вот программа , если мы хотим сложить 2 квадрата одного числа program sqr; var n,a: integer; begin write ('Введите число>>'); read (n); a:= n*n+n*n; writeln (a) end.
Но если мы хотим выразить 1 число в виде суммы 2-х квадратов и проверить возможно ли это, то (боюсь ошибиться) program sqr; uses crt; var n: integer; a,b:real; begin write ('Введите число>>'); read (n); a:= sqrt(n); if (a= sqrt(n)) and (a=(n*n)) then begin b:= sqrt(a); if b= (a*a)+(a*a) then writeln ('Можно'); if b<> (a*a)+(a*a) then writeln ('Нельзя'); end; if (a= sqrt(n)) and (a<>n*n) then writeln ('Нельзя') end.
program sqr;
var n,a: integer;
begin
write ('Введите число>>');
read (n);
a:= n*n+n*n;
writeln (a)
end.
Но если мы хотим выразить 1 число в виде суммы 2-х квадратов и проверить возможно ли это, то (боюсь ошибиться)
program sqr;
uses crt;
var n: integer; a,b:real;
begin
write ('Введите число>>');
read (n);
a:= sqrt(n);
if (a= sqrt(n)) and (a=(n*n)) then
begin
b:= sqrt(a);
if b= (a*a)+(a*a) then
writeln ('Можно');
if b<> (a*a)+(a*a) then
writeln ('Нельзя');
end;
if (a= sqrt(n)) and (a<>n*n) then
writeln ('Нельзя')
end.