Возведение числа в БОЛЬШУЮ степень, Степень числа забивается в массив |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Возведение числа в БОЛЬШУЮ степень, Степень числа забивается в массив |
Кит |
Сообщение
#1
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Репутация: 0 |
Помогите пожалуйста с програмкой реализации возведения числа в большую степень (30..200). :low:
Реализация должна вроде с помощью записи чисел в массив Но до меня чо то не доходит как это сделать |
volvo |
Сообщение
#2
|
Гость |
Читайте здесь: FAQ: Длинная арифметика
|
SWEETY |
Сообщение
#3
|
Гость |
А мне вот надо посчитать 2^500 с точностью до последней цифры,а я не могу.Почитала 'Длинную арифметику' и всё равно не могу .ПОМОГИТЕ,ПОЖАЛУЙСТА СДЕЛАТЬ ЭТО...
|
volvo |
Сообщение
#4
|
Гость |
Цитата(SWEETY @ 10.07.2006 17:25) Почитала 'Длинную арифметику' и всё равно не могу Странно... У меня получилось: uses crt; |
Гость |
Сообщение
#5
|
Гость |
Volvo,огромное тебе спасибо .Но сёдня ходила сдавать,он сказал,что алгоритм не понятен и почему ты уверенна,что результат правильный.Говорит,надо найти какую-то закономерность и сделать через case of . Я в тупике...
|
volvo |
Сообщение
#6
|
Гость |
Я не понял, тебе надо найти ВСЕ цифры числа 2^500, или только ПОСЛЕДНЮЮ цифру? Если только последнюю, то можно найти эту самую закогомерность, например, так:
2^500 = (2^5)^100 = ((2^5)^5)^20 = (((2^5)^5)^5)^4 => возводим в нужную степень только последнюю цифру, и получаем, что последняя цифра числа 2^500 = (((32)^5)^5)^4 = ((32^5)^4) = (32)^4 = 16 Ответ: последняя цифра = 6 (что, кстати, и в моей программе получилось) А вот если надо вычислить ВСЕ цифры - то тут никакой Case Of не поможет. Придется вычислять с использованием длинной арифметики... Цитата почему ты уверенна,что результат правильный. А почему он сомневается, что результат правильный? Можно же на каждом шаге распечатывать промежуточные результаты, чтоб сомнений не осталось, что это именно степени двойки... |
Гость |
Сообщение
#7
|
Гость |
ВСЕ.... Я нашла только закономерность 3-х последних цифр и кол-ва знаков.Программа должна быть для любой степени (10,250...500),через цикл for и case,но результат-строка,поэтому помещается в памяти.Он знает эту закономерность,а я нет и осталась неделя...
|
Гость |
Сообщение
#8
|
Гость |
люди а как возвести 2006 в 2007 стпень.
и 2007 в 2006 степень.люди пожалуйста помогите.оч надо |
volvo |
Сообщение
#9
|
Гость |
|
Гость |
Сообщение
#10
|
Гость |
Странно... У меня получилось: uses crt; Эх- а как 99 в степень 99 возвести?!?!? |
volvo |
Сообщение
#11
|
Гость |
Цитата а как 99 в степень 99 возвести?!?!? Посмотреть на программу, присоединенную к посту №9, и поменять в ней основание и показатель степени на 99 ... |
Гость |
Сообщение
#12
|
Гость |
|
volvo |
Сообщение
#13
|
Гость |
Может, ты покажешь, КАК именно пробовал изменять?
|
Гость |
Сообщение
#14
|
Гость |
|
Гость |
Сообщение
#15
|
Гость |
Плиззз)) очень срочно нужно возвести число 99 в степень 99 . И в результате должно быть целочисленный резыльт. задачка такая что в делфи нерешаетца- а паскаль плохо знаю ) ы цикло зло. Плиз помогите!! |
volvo |
Сообщение
#16
|
Гость |
Ну, и с чего ты решил, что ответ
Цитата 36603234127322950493061602657251738618971207663892369140595737269931704475072474 - неправильный?81871965435100269504006615691006528432747182356968017994158571053544917075742738 9035006098270837114978219916760849490001 Сообщение отредактировано: volvo - |
Гость |
Сообщение
#17
|
Гость |
Ну, и с чего ты решил, что ответ - неправильный? у меня в делфи получалось 36603234127322950493061602657251738618971207663892369140595737269931704475072474 81871965435100269504\ 00661569100652843274718235696801799415857105354491707574273890350060982708371149 78219916760849490001 а это 99 в 100 степени! а надо в 99!!! чето не прально решает . вот так. |
Гость |
Сообщение
#18
|
Гость |
в делфи когда цикл ставишь от 1 до 0 возведение в степень = 99
цикл от 1 до 1 = 9801 и т.д т.е. если цикл = 1 to 3 do то в реале это полчается 99 в 4 степени может ставить и тут также степень не 99 а 98 ?? |
Гость |
Сообщение
#19
|
Гость |
в делфи когда цикл ставишь от 1 до 0 возведение в степень = 99
цикл от 1 до 1 = 9801 и т.д т.е. если цикл = 1 to 3 do то в реале это полчается 99 в 4 степени может ставить и тут также степень не 99 а 98 ?? |
volvo |
Сообщение
#20
|
Гость |
Ну, правильно... Небольшое изменение:
buffer^ := first^; и выдается результат: Цитата 36972963764972677265718790562880544059566876428174110243025997242355257045527752 34214106500101282327279409788895483265401194299967694943594516215701936440144180 71060667659301384999779999159200499899 (результат проверен также и с использованием библиотеки DFF Library под Дельфи, то же самое, цифра в цифру) |
Текстовая версия | 27.12.2024 14:14 |