Python Вместо года рождения(1988) нужно вывести, сколько лет человеку. Предполагать, что сейчас 2021 год. Предполагайте, что пользователь не будет вводить неверный год рождения
def calculate_age(born):
today = date.today(2021)
born = date.born(1988)
age = (today.year - born.year)
Где ошибка, как закончить?
Разделим исходный код на группы по 3 разряда.
1001001001 = 001 001 001 001
Затем заменяем каждую группу на код из таблицы.
Получаем число:
001 001 001 001 = 1111 (это в восьмиричн.)
Разделим исходный код на группы по 4 разряда.
10010010012 = 0010 0100 1001 2
Затем заменяем каждую группу на код из таблицы.
Получаем число:
0010 0100 1001 = 249 (это в шестнадцатирич.)
Для перевода в десятич. необходимо умножить разряд числа на соответствующую ему степень разряда (обозначу степень данным - ^ символом)
1001001001 = 2^9*1 + 2^8*0 + 2^7*0 + 2^6*1 + 2^5*0 + 2^4*0 + 2^3*1 + 2^2*0 + 2^1*0 + 2^0*1 = 512 + 0 + 0 + 64 + 0 + 0 + 8 + 0 + 0 + 1 = 585 (это в десятич.)
Таблицы для перевода находятся в свободном доступе в инете
9*3*N - не может быть больше 54, т.е.
N может быть только 1 или 2. По условию х>=10 -> N=2 (N -порядок числа).
Поэтому искать нужно среди чисел от 11 до 54. Решение - число 15.
var n,m: integer;
begin
write('n = '); readln(n);
if n=2 then
begin m:=11;
repeat
if (m mod 10)*(m div 10)*3=m then
begin
writeln('число: ',m);
m:=55;
end;
m:=m+1;
until m>54;
end
else writeln('нет решения');
end.