Мы уже писали программу, вычисляющую сумму налога по прогрессивной шкале в зависимости от полученного заработка: 13% на доход до 10 000, 20% на доход от 10 000 до 50 000, 30% на доход выше 50 000. Однако во многих странах, использующих такую шкалу, эта сумма вычисляется более сложным налоговая ставка 30% на доход выше 50 000 означает, что 30% уплачивается не со всей суммы, а лишь с той ее части, которая превосходит 50 000. Аналогично, ставка 20% на доход от 10 000 до 50 000 обязывает уплатить 20% лишь с той части суммы, которая превосходит 10 000, но не превосходит 50 000.
Так, например, с дохода 100 000 придется заплатить такой налог:
30% * (100 000 − 50 000) + 20% * (50 000 − 10 000) + 13% * 10 000 = 15 000 + 8 000 + 1 300 = 24 300
А с дохода 30 000 — такой: 20% * (30 000 − 10 000) + 13% * 10 000 = 4 000 + 1 300 = 5 300
Напишите программу, которая спрашивает у пользователя его доход и высчитывает сумму налога для него по вышеописанным правилам
в питоне
Всё очень просто:
1) мощность языка (сколько символов используется) N =2^i (i - "вес" 1 символа языка в битах), то есть надо найти i,
2) подсчитаем количество символов в сообщении: 6*32*40 (штук, то есть символов),
3) переведем информационный объем сообщения в биты (так как формула из п.1 работает в битах, нам надо свести всё в одни единицы измерения), V=5Кб = 5*2^13 бит,
4) Найдем "вес" 1 символа, разделив количество бит в сообщении на количество символов: 1 символ = ((5*2^13)/(6*32*40))=(2^13)/(6*32*8)=(2^13)/(6*2^8)= (упс! 32/6) =5, 33 (3) => округляем до 6
5) В языке N=2^i = 2^6= 64 символа
Так, у нас 11 символов, 6*11=66 - бит нужно для кодировки пароля. А ближайшее число байт - это 9 (т.к. 8*9=72, в одном байте - 8 бит, 8 байт не хватит - т.к. 8*8=64, а у нас 66)
Доп. сведения - 13 байт.
13 байт + 9 байт = 22 байт.
1 КБ = 1024 байт
1024 байт : 22 байт = 46, 5454545
ответ: 46 пользователей