Автор | Сообщение |
|
| Администратор
|
Сообщение: 3298
|
|
Отправлено: 10.02.22 20:10. Заголовок: По задаче 14-318
Татьяна пишет: цитата: | у меня снова вопрос. теперь по заданию 14((П. Волгин) Значение выражения 1644 · 1630 – (325 · (840 – 832) · (1617 – 324)) записали в системе счисления с основанием 16 Затем в шестнадцатеричной записи этого числа все цифры E заменили на 1, а цифру в разряде 4 удалили. Найдите количество единиц в шестнадцатеричной записи числа после изменения. Ответ запишите в десятичной системе счисления.). Что значит "а цифру в разряде 4 удалили"? укоротили число на порядок или выбросили, если она 1 или Е? Поясните пожалуйста. |
|
Просто удалили 4-й разряд, укоротив число. Нумерация разрядов, как всегда, справа налево, начиная с 0.
|
|
|
Ответов - 3
[только новые]
|
|
|
Отправлено: 10.02.22 21:06. Заголовок: Поляков тогда вот пр..
Поляков тогда вот программа на ПАскале, ответ сходится но решение соответствует условию, если 1 или Е, то уменьшить счетчик на 1. если можно поясните на программе Ваше условие
|
|
|
|
| Администратор
|
Сообщение: 3299
|
|
Отправлено: 10.02.22 21:19. Заголовок: Черношвец пишет: отв..
Черношвец пишет: Решение правильное. А что вас смущает?
|
|
|
|
Отправлено: 10.02.22 21:08. Заголовок: {(П. Волгин) Значени..
{(П. Волгин) Значение выражения 16^44 · 16^30 – (32^5 · (8^40 – 8^32) · (16^17 – 32^4)) записали в системе счисления с основанием 16 Затем в шестнадцатеричной записи этого числа все цифры E заменили на 1, а цифру в разряде 4 удалили. Найдите количество единиц в шестнадцатеричной записи числа после изменения. Ответ запишите в десятичной системе счисления.} var a:biginteger; k,d:int64; begin a:=biginteger.Pow(16,44)*biginteger.Pow(16,30) -(biginteger.Pow(32,5)*((biginteger.Pow(8,40)-biginteger.Pow(8,32))*(biginteger.Pow(16,17)-biginteger.Pow(32,4)))); writeln((a mod (16*16*16*16)) div (16*16*16));{отладочная печать, проверяем является ли цифра в 4-ом разряде Е или 1} while a>0 do begin if (a mod 16=1) or (a mod 16=14) then k:=k+1; a:=a div 16; end; if (a mod (16*16*16*16) div (16*16*16)=14) or (a mod (16*16*16*16) div (16*16*16)=1) then k:=k-1; writeln(k); end.
|
|
|
|