0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 9
|
|
1 | |
Длинная арифметика. Задача А + В29.10.2011, 17:48. Показов 8046. Ответов 17
Метки нет (Все метки)
Прошу помочь решить эту задачку, желательно с закомментированными построчными объяснениями. Особенно про подключаемые файлы -инпут и аутпут. Также желательно предельно простое решение (без всяких там классов, функций и проч., онли циклы и массивы). Заранее спасибо.
Требуется: сложить два целых числа А и В. Входные данные: Во входном файле INPUT.TXT записано два неотрицательных целых числа, не превышающих 10100, по одному в каждой строке. Выходные данные: В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — сумму чисел А и В, без лидирующих нулей.
0
|
29.10.2011, 17:48 | |
Ответы с готовыми решениями:
17
Задача Новый год и старые свойства длинная арифметика длинная арифметика Длинная арифметика Длинная арифметика |
Студент
148 / 148 / 64
Регистрация: 18.01.2011
Сообщений: 469
|
|
29.10.2011, 18:40 | 2 |
на каком языке?
0
|
0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 9
|
|
29.10.2011, 20:14 [ТС] | 3 |
C++ ,если можно
0
|
Студент
148 / 148 / 64
Регистрация: 18.01.2011
Сообщений: 469
|
||||||
29.10.2011, 23:57 | 4 | |||||
ну вот так, через некоторое время, здесь напишут код по короче)
1
|
542 / 447 / 162
Регистрация: 10.12.2009
Сообщений: 1,857
|
|
30.10.2011, 00:50 | 6 |
Возможно,
- это максимальная длина строки!
Хотя, мне тоже кажется, что это не так ( видно из условия задачи ).
0
|
Диссидент
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
30.10.2011, 01:13 | 7 |
Скорее всего именно так! Тогда - поиск по форуму и Гугл в помощь!
Длинные числа - это самая простая из сложных задач. Решать ее - просто удовольствие. Так не будем же отнимать этого удовольствия у ТС.
0
|
34 / 34 / 14
Регистрация: 06.05.2011
Сообщений: 91
|
|
30.10.2011, 01:15 | 8 |
Очевидно имелось в виду: "два неотрицательных целых числа, не превышающих 10^100", тогда как раз длинная арифметика только поможет.
1
|
0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 9
|
||||||
30.10.2011, 10:42 [ТС] | 10 | |||||
Пардон, не заметил - 10^100
Добавлено через 21 минуту и вопрос - если у нас есть массив максимального размера 10^100 , а я ввожу число, меньшее этого размера - то что делать с остальным пространством? заполнять нулями? или что? и как это делается? вот кусочек того что мозг родил:
но в этом варианте заполнения массива - придется его весь заполнять - а именно - 101 цифра.
0
|
Студент
148 / 148 / 64
Регистрация: 18.01.2011
Сообщений: 469
|
|
30.10.2011, 11:07 | 11 |
так у вас написано два числа, зачем делать массивы
0
|
0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 9
|
|
30.10.2011, 11:12 [ТС] | 12 |
так даны два числа размером с количеством цифр 101 в каждом . и сама тема - длинная арифметика. подсказали что решается с двумя массивами, притом складываются каждый i-ый элемент, при необходимости с переводом разряда в i+1 -ый элемент. притом складывается все это в третий массив. и записывается в аутпут.тхт. в теории - как это делать - мне ясно,но сама реализация в коде - чтото не выходит
0
|
return (true);
1976 / 1111 / 221
Регистрация: 19.04.2011
Сообщений: 2,345
|
|
30.10.2011, 11:16 | 13 |
0
|
0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 9
|
||||||
30.10.2011, 21:05 [ТС] | 14 | |||||
благодарю)
Добавлено через 9 часов 47 минут решил таки сам добить эту задачку. и на первом же тесте - wrong answer. понять не могу-что не так. эксперты,подскажите ?
0
|
448 / 211 / 21
Регистрация: 07.10.2011
Сообщений: 462
|
|
30.10.2011, 21:19 | 15 |
AlexMind, как мне кажется, вы неверно читаете числа в массивы из файла. Предполагаю, что формат входного файла - что-то типа такого (цифры в числе записаны слитно, а не разделены пробелами)
123 12 Вы же пытаетесь их считывать в массив именно посимвольно, надеясь получить A[0]=1, A[1]=2, A[3]=3. А у вас оказывается A[0]=123. Соответственно и результат сложения будет не тот Кроме того, представьте, что файл содержит два числа, длина которых меньше, чем MAX_SIZE. Тогда в своем цикле вы в конец массива пишете непонятно что Попробуйте сделать массивы символьными
0
|
0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 9
|
|
30.10.2011, 21:48 [ТС] | 16 |
а разве незадействованные ячейки массива не инициализируются нулями автоматически?
или на всякий пожарный лучше просто массивы А и В обнулить заранее, а далее при вводе элементов нули будут просто затираться вводимыми значениями. так? суть в том ,что числа одного числа (товтология какая-то..) ..хмм...нет... цифры одного числа - должны быть записаны подряд, а не через пробел.и они должны вводиться так в инпут.тхт а далее уже складываться между собой и записываться в аутпут.тхт ааааа...я уже запутался.... насколько я понимаю-это число как бы одновременно вводится и в инпут.тхт и в каждый элемент массива. нет?
0
|
448 / 211 / 21
Регистрация: 07.10.2011
Сообщений: 462
|
|
30.10.2011, 21:58 | 17 |
AlexMind, нет, число не вводится в инпут.тхт и массив одновременно.
У тебя есть заранее созданный файл input.txt, лежащий в папочке с программой, в который записаны 2 числа, например, 123 45 Эти числа из файла должны читаться в массив. Но при такой записи inp>>A[i]; ты читаешь число целиком (123) и записываешь его в одну ячейку массива, а не по отдельным цифрам. Незадействованные ячейки массива нулями автоматически не заполняются. И тебе не поможет обнуление массивов заранее, потому что тогда у тебя условно получатся числа 123000 и 450000. И их сумма будет вычислена неверно. Мои предложения: вместо массивов int используй массивы char. Они как раз позволят тебе считанное из файла число расписать посимвольно (по одной цифре в ячейку массива). Затем к более короткому числу нужно дописать впереди нули (например, из чисел 123 и 45 надо получить 123 и 045), и складывать их посимвольно с конца, а не сначала, как ты делаешь это сейчас.
0
|
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 6
|
||||||
05.04.2014, 04:18 | 18 | |||||
0
|
05.04.2014, 04:18 | |
05.04.2014, 04:18 | |
Помогаю со студенческими работами здесь
18
Длинная арифметика Длинная арифметика Длинная арифметика Длинная арифметика Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |