каждый символ с однобайтной кодировки ASCII.
1 символ --> 1 байт=8 бит
Петя решил хранить каждый номер в виде массива из 8 символов
объем памяти 8 символов*8 бит=64 бит
Вася в виде трех чисел
одно число для номера региона, одно число для серии (представив все возможные серии в виде натуральных чисел) и одно число для номера
1-е число (двузначное число от 00 до 99) различных номеров N1=100
2-е число (комбинация из 3 букв ) различных комбинаций N2=12^3=1728
3-е число (трехзначное число от 000 до 999) различных чисел N3=1000
Количество вариантов =N1*N2*N3=100*1728*1000=172800000
2^27=134217728 <172800000 - все номера не поместятся
2^28=268435456 >172800000 - годится для решения
объем памяти 28 бит
На сколько бит уменьшится объем памяти 64-28=36 бит
ответ для одного номера объем памяти уменьшится на 36 бит
bank_ques = {}
#Создание вопросов:
# bank_ques["сам вопрос"'] = "ответ на него", вопрос и ответ в виде строки, даже если это число
bank_ques["2*2"] = "4"
bank_ques["3*3"] = "9"
bank_ques["4*4"] = "16"
bank_ques["5*5"] = "25"
bank_ques["6*6"] = "36"
#Вопросов может быть неограниченное количество
# Также генерировать вопросы можно как в самом коде, так и сделать в цикле, но тут уже как хотите
for question in bank_ques:
print(question)
answer = input("ответ: ")
if answer == bank_ques[question]:
print("правильно")
else:
print("ответ неверный")
каждый символ с однобайтной кодировки ASCII.
1 символ --> 1 байт=8 бит
Петя решил хранить каждый номер в виде массива из 8 символов
объем памяти 8 символов*8 бит=64 бит
Вася в виде трех чисел
одно число для номера региона, одно число для серии (представив все возможные серии в виде натуральных чисел) и одно число для номера
1-е число (двузначное число от 00 до 99) различных номеров N1=100
2-е число (комбинация из 3 букв ) различных комбинаций N2=12^3=1728
3-е число (трехзначное число от 000 до 999) различных чисел N3=1000
Количество вариантов =N1*N2*N3=100*1728*1000=172800000
2^27=134217728 <172800000 - все номера не поместятся
2^28=268435456 >172800000 - годится для решения
объем памяти 28 бит
На сколько бит уменьшится объем памяти 64-28=36 бит
ответ для одного номера объем памяти уменьшится на 36 бит
bank_ques = {}
#Создание вопросов:
# bank_ques["сам вопрос"'] = "ответ на него", вопрос и ответ в виде строки, даже если это число
bank_ques["2*2"] = "4"
bank_ques["3*3"] = "9"
bank_ques["4*4"] = "16"
bank_ques["5*5"] = "25"
bank_ques["6*6"] = "36"
#Вопросов может быть неограниченное количество
# Также генерировать вопросы можно как в самом коде, так и сделать в цикле, но тут уже как хотите
for question in bank_ques:
print(question)
answer = input("ответ: ")
if answer == bank_ques[question]:
print("правильно")
else:
print("ответ неверный")