def to_bin(n):
return str(bin(n))[2:len(str(bin(n)))]
def to_hex(n):
return str(hex(n))[2:len(str(hex(n)))]
def main():
n = int(input())
print('Binary version of {} - {}'.format(n, to_bin(n)))
print('Hex version of {} - {}'.format(n, to_hex(n)))
if __name__ == '__main__':
main()
Объяснение:
P.S Внутри функций перевода в системы счисления такая каша из за того, что изначально Python при переводе возвращает число с неким кодом системы счисления. То есть при переводе, например, числа 56, в двоичной версии он выдаст 0b111000, а в шестнадцатиричную - 0x38, что бы убрать код системы счисления, функции возвращают не просто интерпретацию числа в нужной системе, а строковый срез без первых двух символов.
const
N=2018;
var
a: array [1..N] of integer;
i, k, m: integer;
begin
for i:=1 to N do
readln(a[i]);
k := 0
for i:=1 to N do begin
if (a[i] mod 3 = 0) and (a[i] mod 10 = 7)
then k := k+1;
end;
for i:=1 to N do begin
if (a[i] mod 3 = 0) and (a[i] mod 10 = 7)
then a[i] := k;
writeln(a[i])
end;
end.