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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 30.01.2009, 23:12   #1
Deis
Пользователь
 
Регистрация: 15.01.2009
Сообщений: 37
Восклицание Помогите решить задачу!!!

Вычислить 7 в 123 степени. В результате сохранить все цифры.
Deis вне форума
Старый 30.01.2009, 23:54   #2
maladoy
delphi-ст!
Форумчанин
 
Аватар для maladoy
 
Регистрация: 02.01.2009
Сообщений: 825
По умолчанию

Код:
program v123;
uses crt;
var k:comp;
begin
clrscr;
k:=exp(123*ln(7));
writeln(k);
readln;
end.
вступлю в команду разработчиков ПО на Delphi

Последний раз редактировалось maladoy; 31.01.2009 в 00:31.
maladoy вне форума
Старый 31.01.2009, 00:25   #3
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

maladoy TP7 говорит "Floating point overflow", а Free pascal:
Код:
 8.85235703693E+0103
Вообще, имхо задача явно на умножение "в столбик".
Код:
uses crt;
const base = 7;
st = 123;
var
s,tt : string;
c : char;
i,j,k,a,b,len : integer;
{st : integer;  }

begin
clrscr;
{readln(st); }
s := '7';
for i:=1 to st-1 do
  begin
  tt := s;
  len := length(tt);
  s := '';
  k := 0;
  for j:=1 to len do
    begin
    a := (ord(tt[j])-48)*base + k;
    b := a mod 10;
    k := a div 10;
    s := s + chr(b+48);
    end;
  if k <> 0 then s := s + chr(k+48);
  end;

len := length(s);
for i:=1 to trunc(len/2) do
 begin
 c := s[len-i+1];
 s[len-i+1] := s[i];
 s[i] := c;
 end;

writeln(s);
readln;
end.
Выводит:
Код:
88523570369346801684435811372718127585670061114702144933569245260093253728999880
981421881473709365496343
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите решить задачу Gabriel Паскаль, Turbo Pascal, PascalABC.NET 8 09.01.2009 22:18
Помогите решить задачу, please! CRUMB Помощь студентам 3 08.12.2008 18:02
Помогите решить задачу!!! Колян Помощь студентам 3 03.12.2006 22:19