Var m : array[0..6] of Integer; i,k,N : Integer; Begin For i:=0 to 6 do m[i]:=0; Readln(N); k:=6; While N>0 do Begin If N>=Power(2,k) then Begin N:=N-Trunc(Power(2,k)); Inc(m[k]); end else Dec(k); end; For i:=0 to 6 do Writeln(Power(2,i),' ',m[i],' шт.'); end.
Еще вариант: Const NN = 7; money : array[1..7] of Integer = (1,2,4,8,16,32,64); Var m : array[1..NN] of Integer; i,k,N : Integer; Begin For i:=1 to NN do m[i]:=0; Readln(N); k:=NN; While N>0 do Begin If N>=money[k] then Begin N:=N-money[k]; Inc(m[k]); end else Dec(k); end; For i:=1 to NN do Writeln(money[i],' ',m[i],' шт.'); end.
515b - в шестнадцетиричной СС(Системе Счисления) b - под номер 11 так как 0,1..9 10(a) 11(b) 12(c) Шестнадцатиричная СС состоит из 0,1..9 10(a) 11(b) 12(c) .. 15(f)
ответ: 515b - шестнадцетиричная (16) 4305 - десятичная (10) или шестиричная (6) 9463 - десятичная (10) или десятичная (10), если отталкивать от условия "основание системы счисления должно быть больше 2 и не больше 36" а правильно я отметил я изучал 3 СС: (двоичная СС, десятичная, шестнадцетиричная, есть и другие не отрицаю)
Знак "^" означает степень числа.
13641 = 1 * 10^4 + 3 * 10^3 + 6 * 10^2 + 4 * 10^1 + 1 * 10^0