счастье рядом
Задание:
читать дальше
Мой вариант решения:
читать дальше
Вроде бы все считает, но решение проходит только 14 тестов из 20 (это тренировочная олимпиадная задача). Я предполагаю, что дело в Integer, в диапазон которого, видимо, не входит 1000-значное двоичное число.
Помогите найти решение проблемы, пожалуйста. Может, я не права и проблема в другом?
читать дальше
Мой вариант решения:
читать дальше
Вроде бы все считает, но решение проходит только 14 тестов из 20 (это тренировочная олимпиадная задача). Я предполагаю, что дело в Integer, в диапазон которого, видимо, не входит 1000-значное двоичное число.
Помогите найти решение проблемы, пожалуйста. Может, я не права и проблема в другом?
-
-
13.08.2012 в 22:59В Int входит 32 или 64 бита только.
Помогите найти решение проблемы, пожалуйста.
Очевидно, не использовать встроенный тип Int, а реализовать свой.
(или использовать библиотеку "длинной" арифметики)
-
-
14.08.2012 в 00:07Не знаете, в чем может еще быть проблема?(
-
-
14.08.2012 в 00:09-
-
14.08.2012 в 00:56или использовать библиотеку "длинной" арифметики
это BigInteger и подобное? но у него же нету таких методов, как у Integer
-
-
14.08.2012 в 01:03Вот об этом я не в курсе - есть или нету.
Но странно, если нету - тип "большое целое" есть, а арифметические операции над ними не определены. Странно.
Но если нет - ничего страшного - реализуйте свой. Он несложный. Число можно представить в виде строки и анализировать посимвольно.
-
-
14.08.2012 в 01:51Зачем вам методы Integer? Тех, что есть в BigInteger, вполне достаточно. Будет примерно так (не тестировал):
BigInteger value = new BigInteger("010101", 2);BigInteger value2 = new BigInteger("1010", 2);
value = value.add(value2);
System.out.println(value.toString(2));
-
-
14.08.2012 в 14:46Но если нет - ничего страшного - реализуйте свой. Он несложный. Число можно представить в виде строки и анализировать посимвольно.
я пыталась так, но запуталась немного
Ri, спасибо большое, переделала в BigInteger, все тесты прошли. Я просто раньше с ним не сталкивалась, теперь буду знать, еще раз спасибо)
-
-
18.08.2012 в 09:55-
-
18.08.2012 в 18:30Не факт. Может, эта задача на проверку, умеете ли вы пользоваться стандартной библиотекой. Зависит от контекста, в общем.
-
-
19.08.2012 в 04:57Спорить и доказывать никому ничего не буду. Просто поверь.
Я 4 года в школе, 5 лет в универе и 2 года сейчас занимаюсь и готовлю к олимпиадам.
-
-
21.08.2012 в 00:26Я не очень понимаю, что из себя представляет понятие "длинная арифметика". Если можно, дайте ссылочку, где об этом можно почитать в целом? А то гугл только конкретные проблемы показывает.
-
-
21.08.2012 в 03:41Ссылка на википедию