Регистрация не е нужна, освен при създаване на тема в "Задача на седмицата".

Представяне на наистина голямо число

Представяне на наистина голямо число

Мнениеот wavic » 06 Юли 2016, 12:31

Привет! Нов съм и имам нужда от помощ. Търся генерален начин, по който да мога да представя всяко голямо число, ама много голямо, като сбор от бази и степени.
Като например:

big_num = 7447^8829 + 812^2571 + 1742424^55 + 9172^486 + 71734^13 + 832^9 - 38

Не съм математик, не уча математика и това не е домашна работа.
wavic
Нов
 
Мнения: 4
Регистриран на: 06 Юли 2016, 12:24
Рейтинг: 0

Re: Представяне на наистина голямо число

Мнениеот Davids » 06 Юли 2016, 12:45

Ако става дума за програмиране, варианти за алгоритъм има много. Ако става дума за чиста математика на хартия, тогава би било малко по-трудно и не мога да помогна. И все пак важи един въпрос - какъв е критерия за „база“ и някакви ограничения има ли?
*Нещо непосредствено и интересно, привличащо вниманието на читателя и оставящо го с приятна топла усмивка на лицето.*
----
Вече не го правя само за точката. :lol:
Davids
Математик
 
Мнения: 2383
Регистриран на: 16 Ное 2015, 11:47
Рейтинг: 2535

Re: Представяне на наистина голямо число

Мнениеот wavic » 06 Юли 2016, 13:06

Да, за програмиране става въпрос. Критерии за база.... Няма. Единствената цел е да се представи по този начин. Голямото число може да варира от няколко стотин хиляди цифри, до няколко десетки милиона цифри. Или повече.

Вчера в едно кафене надрасках на хартия нещо, но още не съм го пробвал и мисля, че ще работи, но е много дървеняшко и използва доста цикли. Което означава, че няма да е бързо. Извинявам се, че не написах примера по по-разбираем начин, но за първи път виждам бутоните за форматиране на разните математически формули и прочее и не зная, как да ги използвам.
wavic
Нов
 
Мнения: 4
Регистриран на: 06 Юли 2016, 12:24
Рейтинг: 0

Re: Представяне на наистина голямо число

Мнениеот Davids » 06 Юли 2016, 13:46

Идеята на въпроса ми е, кое за теб и било за предпочитане? Тъй като, да речем, едно число може дя се представи като [tex]2^{12345}[/tex] и като [tex]12345^2[/tex] (примерът е образен). Би било добре да си определиш някаква граница и за големина на основата/степента, която да е приемлива за теб.
*Нещо непосредствено и интересно, привличащо вниманието на читателя и оставящо го с приятна топла усмивка на лицето.*
----
Вече не го правя само за точката. :lol:
Davids
Математик
 
Мнения: 2383
Регистриран на: 16 Ное 2015, 11:47
Рейтинг: 2535

Re: Представяне на наистина голямо число

Мнениеот wavic » 06 Юли 2016, 14:37

Хм, и аз съм се питал същото. Най-добрия вариант би бил, да се представи като само една база и степен. Но това би бил идеалният случай. Точно този въпрос си задавах и аз и това ме затормозяваше много, защото не зная, как да определя някакъв близо до оптимален вариант. Като цяло, колкото по-малко двойки, база-степен, толкова по-добре. Дали ще е едното или другото, опира до една двойка числа, които в твоя пример се изразяват с еднакъв брой цифри и при представянето, няма значение дали 2 ще е степен или база. Например.
wavic
Нов
 
Мнения: 4
Регистриран на: 06 Юли 2016, 12:24
Рейтинг: 0

Re: Представяне на наистина голямо число

Мнениеот Davids » 06 Юли 2016, 15:27

Винаги можеш с един цикъл да потърсиш най-близкия точен квадрат или куб (или някаква подобна степен) на цяло число и да прибвавиш остатъка, за да изразиш голямото число. Това би било най-оптималният вариант с една степен, както спомена :D Само дето цикълът ще ти отнеме доста изчислителна мощ и време.
*Нещо непосредствено и интересно, привличащо вниманието на читателя и оставящо го с приятна топла усмивка на лицето.*
----
Вече не го правя само за точката. :lol:
Davids
Математик
 
Мнения: 2383
Регистриран на: 16 Ное 2015, 11:47
Рейтинг: 2535

Re: Представяне на наистина голямо число

Мнениеот wavic » 06 Юли 2016, 18:23

И аз си мислех така. Оказа се, че може да се провери сравнително бързо и лесно, със съответните библиотеки разбира се, дали едно число е точен корен. Не зная метод, по който да определя, кое число е най-близък произволен корен на друго. Бил квадратен, кубичен или n-ти. Ако имам този метод, може да сътвора нещо по-разионално от това, дето измислих вчера. Като се добера до тефтера си, ще го споделя и тук. Всъщност е точно такъв метод, но сътворен по най-примитивния начин. Умножаване на 1 с 10 и степенуване на резултата на себе си, докато полученото не стане по-голямо или равно на голямото число. От там нататък само се прибавя същото, докато е възможно да се степенува по себе си, докато не прехвърли голямото число. После следва и прибавяне към полученото на резултата от него, разделен с десет. Т.е. с една позиция по-близо към нулата. След това вадя крайния разултат от голямото число и повтарям процедурата за остатъка.
До това стигнах с моите познания. По-късно ще напиша и алгоритъма, но мисля, че им и под-елегантни начини да се постигне същото. Начина, който описах дава х^x или двойка еднакви числа.
wavic
Нов
 
Мнения: 4
Регистриран на: 06 Юли 2016, 12:24
Рейтинг: 0

Re: Представяне на наистина голямо число

Мнениеот pal702004 » 07 Юли 2016, 18:04

Не знам какъв е точно е смисъла на занятието, но ако си мислиш, че можеш да икономисаш байтове в сравнение с двоичното предстявяне на числото - забрави.
pal702004
Математик
 
Мнения: 1484
Регистриран на: 23 Сеп 2013, 19:47
Рейтинг: 1399


Назад към Степени, корени



Кой е на линия

Регистрирани потребители: Google [Bot]

Форум за математика(архив)