Условия задачи. Значение арифметического выражения
16^23 + 4^12 – 32^6 (16 в степени 23 + 4 в степени 12 - 32 в степени 6)
записали в системе счисления с основанием 4. Какая из цифр чаще всего встречается в полученном числе? В ответе укажите, сколько таких цифр в этой записи.
Приведём решение на языке Python (он же Питон):
Все надписи после решётки (например, "считаем кол-во нулей в записи") нужны исключительно для пояснения того, что делает данная строка и на работу программы не влияют, это комментарии.
В первой строке P=16**23+4**12-32**6 двойная звёздочка означает возведение в степень.
Вторая строка print ('Число в нашей человеческой 10-ой системе =', P) нужна больше для себя, чтобы понять, что первая строка работает и число действительно большое. От этой строки во время экзамена можно и отказаться.
С 3 по 6-ую строки мы обнуляем будущие счётчики цифр, чтобы потом иметь право к ним что-то прибавлять (т.е. проводить какие-либо операции). Так как система четверичная, то цифры в числе могут быть только такие: 0,1,2,3.
if P%4==0 означает если остаток от деления P на 4 равен нулю, то мы прибавим к счетчику цифр 0 в нашем числе единицу s0 += 1.
P=P//4 означает, что мы оставляем только целую часть от деления P на 4.
Действие % , а потом // - это классический порядок перевода из десятичной системы. В нашей программе мы делаем эти шаги, но само число в 4-ой системе нас не интересует, мы сразу считаем каких цифр в нём и сколько.
Помните, что отступы в начале строк (табуляция) крайне важны.
Запустим нашу программу.
Надо, конечно, понимать, что это не единственный метод/способ решения. Из существующих стоит выбрать для себя самый удобный или придумать свой собственный. Спасибо за интерес к информатике!
Код для копирования (не забываем про отступы в начале строк):
P=16**23+4**12-32**6
print ('Число в нашей человеческой 10-ой системе =', P)
s0=0
s1=0
s2=0
s3=0
while P>0:
if P%4==0:
s0+=1
elif P%4==1:
s1+=1
elif P%4==2:
s2+=1
elif P%4==3:
s3+=1
P=P//4
print ('0 в четверичной записи', s0)
print ('1 в четверичной записи', s1)
print ('2 в четверичной записи', s2)
print ('3 в четверичной записи', s3)