|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.02.2014, 12:06 | #1 |
Пользователь
Регистрация: 16.08.2013
Сообщений: 54
|
Длинная арифметика(вычитание)
Добрый день!
Возникла такая необходимость реализовать вычитание строк в столбик в идеологии этого способа для экономии ресурсов принято реализовывать через флаг "-1", тоесть в цикле когда отнимаем от меньшего большее ставим флаг в true... не могу понять как это реализовать.... |
10.02.2014, 12:23 | #2 | |||
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
Цитата:
Цитата:
Вычитание натуральных чисел столбиком, примеры, решения. Вычитание в столбик Цитата:
Длинная арифметика (PHP.SU) Длинная арифметика Последний раз редактировалось Streletz; 10.02.2014 в 12:52. |
|||
10.02.2014, 12:33 | #3 | |
Пользователь
Регистрация: 16.08.2013
Сообщений: 54
|
Цитата:
|
|
10.02.2014, 13:12 | #4 |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
Алгоритм "с флагом" как раз описан во второй статье, из тех, что были предложены в качестве помощи в моём посте #2. Вам по сути остаётся только реализовать.
В прочем, если реализация на основе математического описания алгоритма вызывает трудности и/или Вам нужен конкретный пример, то он гуглится с 1го раза. Пожалуйста: Длинная арифметика. Урок 2. Сложение и вычитание. Последний раз редактировалось Streletz; 10.02.2014 в 17:27. |
10.02.2014, 16:58 | #5 | |
Пользователь
Регистрация: 16.08.2013
Сообщений: 54
|
Цитата:
|
|
10.02.2014, 17:28 | #6 |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
Пожалуйста!
|
12.02.2014, 17:08 | #7 |
Пользователь
Регистрация: 16.08.2013
Сообщений: 54
|
Сложение(длинная арифметика)
Все-таки что-то не могу понять написал как тут:
http://cybern.ru/csharp-long-math-add-substract.html вот код моей функции: PHP код:
|
12.02.2014, 18:00 | #8 | |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
Ошибку в студию!
Цитата:
Простите, но когда алгоритм переписывается с одного языка на другой его необходимо не просто переписать, но и адаптировать к особенностям того языка, на который Вы его переписываете. В отличие от C#, PHP не строго типизированный язык. Поэтому необходимо особенно тщательно контролировать, что поступает на вход алгоритма, что происходит с данными внутри него и что получается на выходе. Но, ошибку, в любом случае, в студию! |
|
12.02.2014, 18:11 | #9 | |
Пользователь
Регистрация: 16.08.2013
Сообщений: 54
|
Цитата:
echo sum("699", "1"); выдает 799 |
|
12.02.2014, 19:21 | #10 | |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
Судя по входным данным и результатам, "столбик" начинает суммировать, не "справа", как должно быть, а "слева". Что не удивительно, потому, что обход обоих массивов в функции идёт именно "слева".
Поэтому, в соответствии с математическим описанием алгоритма сложения в столбик, необходимо внести в функцию соответствующие исправления. Цитата:
До этой цитаты, Вы пишите всё более-менее нормально. Но, потом в открытую просите халявы. Описание сложения и вычитания в столбик, есть не только в сети. Математическое описание алгоритма даётся в учебниках для начальной школы. Что говорить, Вы даже поверхностно не проанализировали результаты работы своего алгоритма! Так дело не пойдёт! Сделайте сами. Здесь, на форуме,помогают советами тем, кто сам что-то делает, или хотя бы пытается делать. Простите, я искренне не хотел, Вас обидеть, но это с Вашей стороны действительно перебор! |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Длинная арифметика | Свитозар | Помощь студентам | 0 | 26.09.2012 19:07 |
Длинная арифметика | nimfa1 | Общие вопросы Delphi | 4 | 28.06.2012 15:16 |
Длинная арифметика. | Steam.dll | Помощь студентам | 8 | 03.04.2011 17:47 |
длинная арифметика | Dimarik | Общие вопросы C/C++ | 1 | 16.09.2009 12:02 |