Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2012, 14:16   #1
artem611
Пользователь
 
Регистрация: 21.09.2010
Сообщений: 40
По умолчанию Ошибка в коде

Вообщем хочу представить четное число(buff) в виде 2*s*t, где t -не четное число начиная с 3. Проблема в том, что программа не выходит из цикла while(true). При дебаге обнаружилась проблема в следующем:
после прохождения if значение s теряется и все начинается с начала. Т.е., например, если buff =26, то в первой итерации s = 13, потом доходит до if, проверяется все и s теряется => в новой итерации цикла while(true) s снова равно 13
Код:
while (true) {
            s = buff.divide(two);
            while (((two.multiply(s)).multiply(t)).compareTo(buff) != 1) {
                t = t.add(two);
            }
            if (((two.multiply(s)).multiply(t)).compareTo(buff) == 0) break;
            else t = new BigInteger("3");

        }
В чем может быть проблема?

P.S. все числа у меня BigInteger
artem611 вне форума Ответить с цитированием
Старый 14.03.2012, 18:18   #2
artem611
Пользователь
 
Регистрация: 21.09.2010
Сообщений: 40
По умолчанию

Ошибка найдена, тему можно закрыть
artem611 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в коде X_ALONE_X Паскаль, Turbo Pascal, PascalABC.NET 2 24.08.2011 18:40
ошибка в коде c# Roegis Помощь студентам 6 14.01.2011 13:00
ошибка в коде sanya94 Общие вопросы C/C++ 15 12.01.2011 19:26
Ошибка в коде, ошибка в css или это проблема с совместимостью с браузерами? ankris HTML и CSS 5 23.11.2010 16:58
ошибка в коде ZhukSTReeT Общие вопросы C/C++ 6 30.08.2010 00:42