Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Решить два пятисотой степени средствами Java... / 18 сообщений из 18, страница 1 из 1
28.12.2006, 06:31:27
    #34229379
Cyber Craft
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Решить два пятисотой степени средствами Java...
В Java есть типы данных integer (значения до чуть больше двух миллиардов) и longint (девятнадцатизначное целое число). Два пятисотой степени ни в какую не влезает даже в longint. Подскажите, дайте направление, как можно решить эту задачку, "ДВА ПЯТИСОТОЙ СТЕПЕНИ".

Заранее благодарен!
...
Рейтинг: 0 / 0
28.12.2006, 07:37:10
    #34229414
Зашедший
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Решить два пятисотой степени средствами Java...
Cyber CraftВ Java есть типы данных integer (значения до чуть больше двух миллиардов) и longint (девятнадцатизначное целое число). Два пятисотой степени ни в какую не влезает даже в longint. Подскажите, дайте направление, как можно решить эту задачку, "ДВА ПЯТИСОТОЙ СТЕПЕНИ".

Заранее благодарен!
См. класс BigInteger.
...
Рейтинг: 0 / 0
28.12.2006, 09:44:42
    #34229548
Кувалдин Роман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Решить два пятисотой степени средствами Java...
Зашедший Cyber CraftВ Java есть типы данных integer (значения до чуть больше двух миллиардов) и longint (девятнадцатизначное целое число). Два пятисотой степени ни в какую не влезает даже в longint. Подскажите, дайте направление, как можно решить эту задачку, "ДВА ПЯТИСОТОЙ СТЕПЕНИ".

Заранее благодарен!
См. класс BigInteger.

А также BigDecimal, если в степени нужно возводить не целые числа.
...
Рейтинг: 0 / 0
28.12.2006, 11:42:31
    #34229985
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Решить два пятисотой степени средствами Java...
Атвет.
Код: plaintext
1.
 32733906078961418700131896968275991522166420460430647894832913680961337964046745548832700923259041571508866841275600710092172565458853930533 
 28527589376 
...
Рейтинг: 0 / 0
03.01.2007, 06:25:31
    #34235305
Cyber Craft
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Решить два пятисотой степени средствами Java...
Зашедший Cyber CraftВ Java есть типы данных integer (значения до чуть больше двух миллиардов) и longint (девятнадцатизначное целое число). Два пятисотой степени ни в какую не влезает даже в longint. Подскажите, дайте направление, как можно решить эту задачку, "ДВА ПЯТИСОТОЙ СТЕПЕНИ".

Заранее благодарен!
См. класс BigInteger.

Да спасибо, но есть какой-нибудь способ возвести в степень, а не класс? Нпр, я разузнал, что можно в тип String или Char писать по отдельности и так решать. Если так можно, то можно узнать как это делается?
...
Рейтинг: 0 / 0
03.01.2007, 06:28:35
    #34235306
Cyber Craft
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Решить два пятисотой степени средствами Java...
TimmАтвет.
Код: plaintext
1.
 32733906078961418700131896968275991522166420460430647894832913680961337964046745548832700923259041571508866841275600710092172565458853930533 
 28527589376 


Мне нужен не ответ, а способ как это делается? Желательно чтобы этот способ был универсальным, т.е. не зависел от ограничений в типах целого числа, т.е. чтобы можно было решать и в типе SmallInt, записывая отдельные части в String или Char.
...
Рейтинг: 0 / 0
03.01.2007, 06:37:18
    #34235307
grexhide
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Решить два пятисотой степени средствами Java...
Cyber Craft TimmАтвет.
Код: plaintext
1.
 32733906078961418700131896968275991522166420460430647894832913680961337964046745548832700923259041571508866841275600710092172565458853930533 
 28527589376 


Мне нужен не ответ, а способ как это делается ?

Тебя в столбик в школе умножать не учили ?
...
Рейтинг: 0 / 0
03.01.2007, 06:43:58
    #34235308
mysterio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Решить два пятисотой степени средствами Java...
Типа SmallInt, равно как и Char в Java нет. Единственный язык, где я припоминаю такие типы - Delphi.
Вы толком объясните, что Вам нужно.
Если Вам нужны алгоритмы работы с большими числами - гугл в помощь, сайтов навалом. Можете раскопать Кормана (могу ошибаться), Лейзерсона и Ривеста и поискать там.

В Java есть реализация данных алгоритмов. Это классы java.math.BigDecimal и java.math.BigInteger. Вам между прочим их уже упомянули. Реализация задачи с помощью данного API - вызов одного метода.
...
Рейтинг: 0 / 0
03.01.2007, 09:37:51
    #34235346
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Решить два пятисотой степени средствами Java...
mysterioТипа SmallInt, равно как и Char в Java нет.

Давно char'а нет? ;) http://java.sun.com/docs/books/tutorial/java/nutsandbolts/datatypes.html

sunchar: The char data type is a single 16-bit Unicode character. It has a minimum value of '' (or 0) and a maximum value of '￿' (or 65,535 inclusive).
...
Рейтинг: 0 / 0
03.01.2007, 12:22:05
    #34235535
freak_jre
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Решить два пятисотой степени средствами Java...
Для того чтобы рещить такую задачу нужно знать один из разделов олимпийской информатики - "Длинная арифметика". Суть в том что придется создать такой тип - массив где каждый элемент массива будет цифра и все! Потом ты работаешь не с переменными типа integer(или там еще чево нибудь) а с типом - массивом. Так зная умножение встолбик двух чисел по разрядам, можно с легкостью написать прогу которая работает за время(длина первого числа умноженное на длину второго)!
...
Рейтинг: 0 / 0
03.01.2007, 12:25:31
    #34235541
freak_jre
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Решить два пятисотой степени средствами Java...
Когда то я писал такое много раз но только на паскале, исходники есть... Нужны?
...
Рейтинг: 0 / 0
03.01.2007, 17:51:21
    #34235990
Кувалдин Роман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Решить два пятисотой степени средствами Java...
Cyber Craft Зашедший Cyber CraftВ Java есть типы данных integer (значения до чуть больше двух миллиардов) и longint (девятнадцатизначное целое число). Два пятисотой степени ни в какую не влезает даже в longint. Подскажите, дайте направление, как можно решить эту задачку, "ДВА ПЯТИСОТОЙ СТЕПЕНИ".

Заранее благодарен!
См. класс BigInteger.

Да спасибо, но есть какой-нибудь способ возвести в степень, а не класс? Нпр, я разузнал, что можно в тип String или Char писать по отдельности и так решать. Если так можно, то можно узнать как это делается?

Загляни в исходник класса BigInteger. Там все основано на массивах цифр.
...
Рейтинг: 0 / 0
03.01.2007, 19:17:08
    #34236100
mysterio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Решить два пятисотой степени средствами Java...
char есть, Char'а нет.
...
Рейтинг: 0 / 0
03.01.2007, 19:52:18
    #34236139
freak_jre
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Решить два пятисотой степени средствами Java...
вот так должен выглядеть код метода умножения двух длинных чисел:

for(i=1; i<=a[0]; i++)
{
for(j=1; j<=b[0]; j++ )
{
c[i+j-1]=c[i+j-1]+(a *b[j]);
}
}

l=a[0]+b[0]; p=0;
for(i=1; i<=l+2; i++)
{
c=c+p;
p=c \(div) base;
c=c %(mod) base;
}

где a,b,c - это числа в виде массивов, где цифры записанны с конца(сам догадаешься для чего надеюсь). base - это основание системы счисления(в твоем случае 10)
...
Рейтинг: 0 / 0
03.01.2007, 19:56:29
    #34236142
freak_jre
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Решить два пятисотой степени средствами Java...
вот так должен выглядеть код метода умножения двух длинных чисел:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 for (i= 1 ; i<=a[ 0 ]; i++)
{
         for (j= 1 ; j<=b[ 0 ]; j++ )
        {
             c[i+j- 1 ]=c[i+j- 1 ]+(a[i]*b[j]);
        }
}
l=a[ 0 ]+b[ 0 ]; p= 0 ;
 for (i= 1 ; i<=l+ 2 ; i++)
{
   c[i]=c[i]+p;
   p=c[i] \(div) base;
   c[i]=c[i] %(mod) base;
}
где a,b,c - это числа в виде массивов, где цифры записанны с конца(сам догадаешься для чего надеюсь). base - это основание системы счисления(в твоем случае 10)
...
Рейтинг: 0 / 0
05.01.2007, 12:27:14
    #34238121
enterit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Решить два пятисотой степени средствами Java...
Два в 500 степени получить легко :). В двоичном виде.
1 и 500-1 нолей после.
Вопрос скорее в том, как перевести это число в десятичный вид. :)
А это уже совсем другая история...
...
Рейтинг: 0 / 0
05.01.2007, 12:44:35
    #34238143
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Решить два пятисотой степени средствами Java...
В Java и 3^500 получить легко, и представить в какой угодно форме тоже.
...
Рейтинг: 0 / 0
05.01.2007, 14:59:41
    #34238387
enterit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Решить два пятисотой степени средствами Java...
LeonidvВ Java и 3^500 получить легко, и представить в какой угодно форме тоже.
Человеку же алгоритм нужен. :)
Хотя, можно посмотреть, как сама Java это делает.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Решить два пятисотой степени средствами Java... / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]