Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2013, 16:03   #1
a999a1
 
Регистрация: 24.10.2013
Сообщений: 8
По умолчанию длиннная арифметика

Выяснить, какое из чисел a^m, b^n больше и на сколько (a, b <= 40000; m, n <= 10). имеется рабочий код но нужно что бы в ответе выдавалось точное значение. задача из длинной арифметики
Код:
uses crt;
var a,b,rez1,rez2: integer;
    n,m,i: byte;
begin
writeln('Введите 1 число и степень, в которые его возвести');
readln(a,n);
writeln('Введите 2 число и степень, в которые его возвести');
readln(b,m);
rez1:=1;
rez2:=1;
for i:=1 to n do rez1:=rez1*a;
for i:=1 to m do rez2:=rez2*b;
if (rez1=rez2) then writeln('Числа равны') else
if (rez1>rez2) then
writeln('Число ',a,'^',n,' больше, чем число ',b,'^',m,' в ',(rez1/rez2):2:1,' раз.')
else
writeln('Число ',b,'^',m,' больше, чем число ',a,'^',n,' в ',(rez2/rez1):2:1,' раз.')
end.
a999a1 вне форума Ответить с цитированием
Старый 20.11.2013, 18:21   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Какой же он (код) рабочий?
Тип integer - до 32767, а у вас 40000^10
Нужно искать "длинная арифметика" в инете
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 20.11.2013, 21:17   #3
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Тип integer - до 32767
Осторожней..
В Дельфи и ABC Integer = LongInt
Poma][a вне форума Ответить с цитированием
Старый 20.11.2013, 21:24   #4
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Осторожней..
В Дельфи и ABC Integer = LongInt
Как-то забываю все время про это. Автоматически уже. Ну, в данном случае это неважно.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 25.11.2013, 11:42   #5
Plague
Забанен
Форумчанин Подтвердите свой е-майл
 
Аватар для Plague
 
Регистрация: 01.11.2006
Сообщений: 420
По умолчанию

Сравнить можно и без длинной арифметики.
Код:
 if m*ln(a)  > n*ln(b) then ... else ...
А на сколько больше? Тут только длинная арифметика при таких ограничениях.
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Plague вне форума Ответить с цитированием
Старый 25.11.2013, 11:56   #6
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

http://programmersforum.ru/showthread.php?t=248609
сложение, умножение и сравнение
осталось допилить вычитание/деление - дерзайте
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 25.11.2013 в 13:53.
Mad_Cat вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Целочисленная арифметика KatruKot Паскаль, Turbo Pascal, PascalABC.NET 2 03.03.2011 06:40
Арифметика в ПК Negent Помощь студентам 12 28.08.2010 14:18
Целочисленная арифметика Lebron129 Паскаль, Turbo Pascal, PascalABC.NET 1 20.05.2010 19:27
Арифметика в C iggor Помощь студентам 3 01.12.2009 12:40