Сижу думаю
3 / 3 / 0
Регистрация: 11.08.2019
Сообщений: 70
|
||||||
1 | ||||||
Нахождение кол-ва A + B <= C без переполнений разрядов(испр)15.02.2021, 23:29. Показов 647. Ответов 13
Метки нет (Все метки)
Всем привет, можете подсказать алгоритм решения к этой задаче:
Посчитайте количество пар целых неотрицательных чисел (a, b) таких, что a + b ≤ C. И при сложении a + b не будут появляться переполнения разрядов. Вводится число 1 <= C <= 109, нужно вывести кол-во пар a и b. Код для дебага:
0
|
15.02.2021, 23:29 | |
Ответы с готовыми решениями:
13
Нахождение кол-ва A + B <= C без переполнений разрядов Подсчёт и вывод кол-ва разрядов равных нулю. Преобразование чисел (кол-во разрядов>64) в двоичный формат Нахождение кода Грея для 32-х разрядов |
Сижу думаю
3 / 3 / 0
Регистрация: 11.08.2019
Сообщений: 70
|
||||||
15.02.2021, 23:49 [ТС] | 4 | |||||
Ну к большим тестам у меня просто нет доступа, но у маленьких тестов я нашел подозрительную закономерность в разнице текущего ответа и прошлого
0
|
Сижу думаю
3 / 3 / 0
Регистрация: 11.08.2019
Сообщений: 70
|
||||||
15.02.2021, 23:59 [ТС] | 6 | |||||
При 10 выводит 66? Просто весь прикол в том, что если просто кол-во вариантов a + b <= c, то это действительно (c + 2)(c + 1) / 2, но тут еще нельзя чтобы были переполнения разрядов тобеж 6 + 14 = 20 - нельзя, но 5 + 14 = 19 - можно
Все варианты для C - 10
0
|
Сижу думаю
3 / 3 / 0
Регистрация: 11.08.2019
Сообщений: 70
|
|
16.02.2021, 00:12 [ТС] | 8 |
Тип 6 и 4 в одном разряде дают переполнение в некст разряд и там + 1, если столбиком складывать то магия происходит
Добавлено через 2 минуты
0
|
Сижу думаю
3 / 3 / 0
Регистрация: 11.08.2019
Сообщений: 70
|
|
16.02.2021, 00:13 [ТС] | 9 |
смогу ли я сегодня картинку приложить
0
|
Заблокирован
|
|
16.02.2021, 00:14 | 10 |
Ну я хз. У меня в примере числа 6, 4 и остальные любые занимают ровно по 32 разряда. Не больше и не меньше. Чтобы не вызвать переполнение я использовал под результат 64-разрядную переменную.
Зачем складывать числа столбиком, когда у тебя есть комп?
0
|
Сижу думаю
3 / 3 / 0
Регистрация: 11.08.2019
Сообщений: 70
|
|
16.02.2021, 00:15 [ТС] | 11 |
разряд это в смысле единицы десятки сотни и т.д.
0
|
Заблокирован
|
|
16.02.2021, 00:19 | 12 |
В цифровой электронике этого нет. Вся информация хранится, обрабатывается и передаётся только в двоичном виде. И слово "переполнение" в программировании имеет чёткий смысл - когда в результате операции результат перестаёт помещаться в тип переменной, отведённой под него.
0
|
Сижу думаю
3 / 3 / 0
Регистрация: 11.08.2019
Сообщений: 70
|
|
16.02.2021, 00:22 [ТС] | 13 |
Ну тут соре, что не объяснил. Нужно найти кол-во a + b, что бы при так сказать сложении каждый разряд(десятки единицы сотни и т.д.) не давал переполнения.
Пример переполнения(математического): 14 + 6 = 20 переполнение в разряде единиц. 191 + 9 = 200 переполнение в разряде единиц, которое даёт переполнение в десятках.
0
|
817 / 504 / 211
Регистрация: 19.01.2019
Сообщений: 1,196
|
||||||
17.02.2021, 20:02 | 14 | |||||
derwes, Нашел закономерность, могу поделиться, если актуально. На пальцах, ибо в код заворачивать лень.
Кликните здесь для просмотра всего текста
0
|
17.02.2021, 20:02 | |
17.02.2021, 20:02 | |
Помогаю со студенческими работами здесь
14
Нахождение суммы цифр числа от старших разрядов Нахождение кол-ва символов Как "n" кол-во чисел, записанные по порядку, разбить "n" кол-во строк? (Без использования массива) C++ Проверить, как изменилось количество разрядов в числе M по сравнению с количеством разрядов числа N выявлять числа, у которых сумма чётных разрядов равна сумме нечётных разрядов Проверить как изменится количество разрядов в числе M по сравнению с количеством разрядов числа N Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |