Автор | Сообщение |
|
Отправлено: 09.10.21 19:00. Заголовок: задачи 4414 и 4415
В условии задач 4414 и 4415 присутствует фраза "а цифры в разрядах 0, 1 и 2 удалили" Что это значит, число стало короче на 3 разряда начиная с разряда единиц? В задаче 4414 данное условие не имеет значения, так как число нулей не влияет на сумму цифр В задаче 4415 если это условие игнорировать, то ответ получается как на сайте: a = 16 ** 44 * 16 ** 30 - (32 ** 5 * (8 ** 40 - 8 ** 32) * (16 ** 17 - 32 ** 4)) k = 0 print(hex(a)) s = hex(a)[2:] while s[k] == 'f': k += 1 s = s[k:] k = 0 for c in s: if c == 'f' or c == '0': k += 1 print(k) Если удалить 3 младших разряда, то ответ будет на 3 меньше Или я неверно понимаю приведенное условие?
|
|
|
Ответов - 6
[только новые]
|
|
|
Отправлено: 10.10.21 20:50. Заголовок: Добрый день. Да, вы ..
Добрый день. Да, вы правы. Ответ: 47.
|
|
|
|
Отправлено: 28.10.21 18:20. Заголовок: ganilova А почему вы..
ganilova А почему вы пропускаете первые разряды, где есть f? Их разве не нужно заменять нулями? В задании сказано: цитата: | Затем в шестнадцатеричной записи этого числа все цифры F заменили на 0 |
|
|
|
|
|
Отправлено: 30.10.21 16:30. Заголовок: uchitelka пишет: А ..
uchitelka пишет: цитата: | А почему вы пропускаете первые разряды, где есть f? |
| А потому что они превратятся в незначащие нули. :) Сама на эти грабли наступила...
|
|
|
|
Отправлено: 10.11.21 20:39. Заголовок: У меня тоже вопрос п..
У меня тоже вопрос по условию e=[] c=0 s=[] c=16**44*16**30-(32**5*(8**40-8**32)*(16**17-32**4)) while c>0: d=c%16 e.append(d) c=c//16 for i in range(len(e)-1,-1,-1): s.append(e) print(*e) print(*s) for i in range(len(s)): if s==15: s=0 print(*s) del s[0] del s[1] del s[2] c=0 for i in range(len(s)): if s!=0: for j in range(i+1,len(s)): if s[j]==0: c=c+1 break print(c) Решено без использования hex, как ни крути, ответ 50 Если только удалять 3 нуля после первой значащей цифры, будет ответ 47
|
|
|
|
Отправлено: 13.01.22 04:34. Заголовок: Добрый день ! 4414 н..
Добрый день ! 4414 не сходиться с ответом( . В ответе 8, а у меня 7 a=8**20+((8**22 - 8**17)*(8**13 + 8**16)) def numsys(num, base): res='0123456789abcdefghijklmnopqrstuvwxyz' b='' while num: b=res[num%base]+b num//=base return b print(a) l=numsys(a, 8) print(l) l=l.replace('7', '0') l=l[3:] k=[int(x) for x in l] print(l, sum(k))
|
|
|
|
| Администратор
|
Сообщение: 3172
|
|
Отправлено: 13.01.22 06:35. Заголовок: Мурзина пишет: 4414 ..
Мурзина пишет: цитата: | 4414 не сходиться с ответом( . В ответе 8, а у меня 7 |
|
Программу оформите, пожалуйста (см. текст в желтой рамке выше). Так сложно что-то понять.
|
|
|
|