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, что бы убрать код системы счисления, функции возвращают не просто интерпретацию числа в нужной системе, а строковый срез без первых двух символов.
Поделитесь своими знаниями, ответьте на вопрос:
РЕШИТЬ В ПАСКАЛЕ. Дан массив, содержащий 2018 положительных целых чисел, не превышающих 30 000. Необходимо найти в этом массиве количество элементов, которые кратны 7, а их десятичная запись заканчивается цифрой 3, и заменить каждый из таких элементов на это количество. Напишите на одном из языков программирования программу для решения этой задачи. В качестве результата программа должна вывести изменённый массив, по одному элементу в строке. Например, для исходного массива из 5 элементов 14 13 63 203 49 программа должна вывести числа 14 13 2 2 49, по одному числу в строке. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных. Паскаль const N=2018; var a: array [1..N] of integer; i, k, m: integer; begin for i:=1 to N do readln(a[i]); … end.
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.