![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 22.08.2016
Сообщений: 5
|
![]()
Random не работает с BigInteger из-за ошибки "Нельзя преобразовать тип system.numerics.biginteger к integer".
Как это можно обойти(Библиотеки дописывать не охото) и можно ли вообще? Если нет то как написать свою функцию рандом(можно с ручным вводом сида)? |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 474
|
![]()
А опишите задачу подробнее, может статься, что тут другое решение.
Ну и минимальный тестовый пример приведите. |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
![]()
А integer к system.numerics.biginteger можно?
Вообще не знаю про АБС, но уж если так хочется большие произвольные числа, то можно рандомить по разрядам (или по нескольким сразу), что-то типа Код:
|
![]() |
![]() |
![]() |
#4 | |
Регистрация: 22.08.2016
Сообщений: 5
|
![]()
Biginteger и integer плохо совместимы, из-за этого random не может производить никаких манипуляций с biginteger
Код:
Цитата:
Рандом по разрядам плохая идея. |
|
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
на стековефлоу искали? попробуйте такой код адаптировать под свой паскаль: Код:
|
|
![]() |
![]() |
![]() |
#6 |
Регистрация: 22.08.2016
Сообщений: 5
|
![]()
Тем что надо будет постоянно сравнивать рандомное число с максимальным его значением.
Код:
P.S. Паскаль знаю плохо. Можете ли вы еще посоветовать какую-то литературу по языку? |
![]() |
![]() |
![]() |
#7 | |||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
очевидно, что в каждом разряде не может быть больше 9. максимальное значение определяется числом разрядов: 999..(9)..9 Вы вообще какую задачу решаете? для чего Вам большое случайное число? Цитата:
что конкретно в нём непонятно? Имхо, он вообще в Паскаль АБЦ.НЕТ не должен компилится! Его нужно допиливать до кондиции. Цитата:
Данный Паскаль - это скорее обёртка над фреймворком. А ещё лучше, если Вам нужен .NET - то переходите на его родной язык - C# и литературы больше, и IDE есть, и реализация родная. |
|||
![]() |
![]() |
![]() |
#8 | ||
Регистрация: 22.08.2016
Сообщений: 5
|
![]() Цитата:
Если рандомить по разрядам то может получиться число 9324326552779. 9324326552779>5476432783247 Цитата:
|
||
![]() |
![]() |
![]() |
#9 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
вторую цифру числа получайте из диапазона 0-4 ( Random(4) ) третью цифру числа получайте из диапазона 0-7 ( Random(7) ) четвёртую цифру числа получайте из диапазона 0-6 ( Random(6) ) и т.д. для этих целей удобно воспользоваться константным массивом. а вообще, Вы пытаетесь использовать BigInteger там, где он не особо нужен. есть такой тип данных - int64 возьмите его. у него максимально допустимое значение знаковое 9223372036854775807 беззнаковое 18446744073709551615 (см. MSDN - Data Type Ranges или Int64.MaxValue в .NET) Вам хватит такого диапазона? Цитата:
Не стоило начинать с него. Тогда уже возьмите "чистый" Паскаль (FreePascal, for example) или, начинайте прямо с C# вон, у microsoft были уроки "c# для школьников" всё это, конечно, исключительно моё личное мнение (IMHO). |
||
![]() |
![]() |
![]() |
#10 | ||
Регистрация: 22.08.2016
Сообщений: 5
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
BigInteger в Math.Biginteger; | Artorios | Общие вопросы по Java, Java SE, Kotlin | 1 | 19.11.2013 02:21 |
Random (Pascal) | spinogryz_ua | Помощь студентам | 3 | 23.01.2013 00:13 |
Random (pascal) | spinogryz_ua | Помощь студентам | 6 | 09.01.2013 13:50 |
в Pascal ABC.Net ошибка:"невозможно явно преобразовать тип integer к System.random" | ameks94 | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 23.12.2012 02:04 |
pascal random | S0ap | Помощь студентам | 2 | 10.07.2011 17:49 |