Форум программистов, компьютерный форум, киберфорум
Наши страницы

Pascal ABC

Войти
Регистрация
Восстановить пароль
 
Nиk
1 / 1 / 0
Регистрация: 09.01.2011
Сообщений: 20
#1

Вычисление числа 4 в степени 500 - Pascal ABC

09.01.2011, 20:47. Просмотров 487. Ответов 2
Метки нет (Все метки)

Народ, нужно дорешать пару задач на паскале!
1. Составить программу вычисления числа 4 в степени 500, в результате сохранить все цифры числа.
Мой вариант:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
program task;
Uses Crt;
const
n=4;
imax=500;
var
b:integer;
procedure deg (b:integer);
var
k,i:integer;
a:array [1..imax,1..n] of real;
Begin
for i:= 1 to imax do begin
for k:= n downto 1 do
a[i,k]:=exp(i*ln(4));
write(a[i,k]:12:2);
end;
End;
BEGIN
ClrScr;
b:=3;
deg(b);
readkey
end.
Нужно сделать так, чтобы число записывалось не в виде (i*ln(4)), а в виде цифр в массив, затем отображалось.
Есть ещё такой вариант:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
program task9;
const
 n=30;
 imax=2;
var
 b:integer;
 procedure deg (b:integer);
var
 j,x,k,i:integer;
 a:array [1..imax,1..n] of  integer;
begin
for i:= 1 to imax do
  for k:= n downto 1 do
   a[i,k]:=0;
  x:=0;
  a[1,n]:=b;
  i:=1;
  while i < 40 do
  begin
   for k:= n downto 1 do
    begin
        a[2,k]:=a[1,k]*b+x;
         if (a[2,k] > 9) then 
          begin
           x:= a[2,k] div 10;
           a[2,k]:= a[2,k] mod 10;
          end else x:=0;
      end;
   for k:= n downto 1 do
    a[1,k]:=a[2,k];
    i:=i+1;
  end;
 a[2,n]:= a[2,n]-1;
  j:=1;
 while a[2,j]=0 do
  j:= j+1;
 for k:= j to n do
   write(a[2,k]);
 end;
begin
 b:=3;
 deg(b);
end.
Но здесь я не знаю, где ставить 4, а где 500 чтобы работала правильно...
И ещё задача:
2. Описать рекурсивную функцию digits, которая подсчитывает количество цифр в тексте. Что это за функция я не знаю))) Сама постановка задачи мне вообще непонятна... Так что помогите чем можете, заранее благодарю!
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2011, 20:47
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вычисление числа 4 в степени 500 (Pascal ABC):

Вычисление факториала и вычисление степени числа - Pascal ABC
Нужно проверить правильность сделанной программы если не правильно помогите исправить. Var a,a1,a2,a3,x,c,st,otvet:real; ...

Рекурсивное вычисление корня третьей степени из числа - Pascal ABC
Что в данном случае означают параметры функции k и n? program qroot; function f(x:real; k,n:integer):real; var p:real; begin ...

В диапазоне -500..500 найти все трехзначные числа, у которых чётные сотни - Pascal ABC
Даны натуральные числа от -500 до 500. Найти все трехзначные числа, у которых четные сотни.

Рекуррентное вычисление корня k-й степени - Pascal ABC
Описать рекурсивную функцию RootK(X, K, N) вещественного типа, находящую приближенное значение корня K-й степени из числа X по формуле: ...

Дано целое число N (> 0). Найти сумму 1в N степени + 2 в степени N−1 + … + Nв 1 степени. - Pascal ABC
Дано целое число N (&gt; 0). Найти сумму 1в N степени + 2 в степени N−1 + … + Nв 1 степени. в авс паскале

Рекурсия: вычисление приближенного значения корня k-й степени - Pascal ABC
Рекурсия Необходимо реализовать рекурсивную функцию, находящую приближенное значение корня k-й степени из числа x по формуле: y(0) = 1,...

2
Puporev
Модератор
53842 / 41475 / 14581
Регистрация: 18.05.2008
Сообщений: 97,198
09.01.2011, 21:45 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
1.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
const nmax=500;
type ts = 0..9; //тип цифры
chislo=array[1..nmax] of ts;//массивы-числа
procedure nul(var a:chislo); //обнуление числа
var i:integer;
begin
for i:=1 to nmax do
a[i]:=0;
end;
function kol(const a: chislo):integer;//определение длины числа
var i:integer;
begin
i:=nmax;
while(a[i]=0)and(i>1) do
i:=i-1;
kol:=i;
end;
procedure umn(var a,b,c:chislo);//собственно умножение
var i,g,n,m:integer;
    p:0..9;
    v:byte;
begin
nul(c);
m:=kol(a);
n:=kol(b);
for i:=1 to m do
 begin
  p:=0;
  for g:=1 to n do
   begin
     v:=a[i]*b[g]+p+c[i+g-1];
     c[i+g-1]:=v mod 10;
     p:=v div 10;
   end;
  c[i+n]:=p;
 end;
for i:=1 to nmax do
a[i]:=c[i];
end;
procedure pechat(var a : chislo); //печать длинного числа
var i:integer;
begin
for i:=kol(a) downto 1 do
write(a[i]);
writeln;
end;
var a,b,c:chislo;i,k:integer;
begin
a[1]:=4;
b[1]:=4;
for i:=2 to 500 do
 begin
  umn(a,b,c);
  for k:=1 to nmax do
  a[k]:=c[k];
 end;
pechat(c);
end.
Добавлено через 9 минут
2.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
uses crt;
function digits(i:byte;s:string):byte;
var k:byte;
begin
if s[i] in ['0'..'9'] then inc(k);
if i<length(s) then k:=k+digits(i+1,s);
digits:=k;
end;
 
var s:string;
begin
clrscr;
writeln('Введите строку, содержащую цифры:');
readln(s);
write('Количесво цифр=',digits(1,s));
readln
end.
2
Nиk
1 / 1 / 0
Регистрация: 09.01.2011
Сообщений: 20
09.01.2011, 22:05  [ТС] #3
Благодарю!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2011, 22:05
Привет! Вот еще темы с ответами:

Вычисление степени числа и запись цифр степени числа в массив - Pascal
помогите пожалуйста) написать программу для вычисления степени числа и записью цифр степени этого числа в массив. само число и степень...

Вычисление 7-ой степени числа за 4 операции - Pascal
помогите пож сделать подпрограмму с параметром, вычесление 7 степени числа за 4 операции

Вычисление натуральной степени заданного целого числа - Pascal
Не то, чтобы не могу написать программу. Не могу понять задания самого. Кто в состоянии понять, что требуется сделать? Вот задание: ...

Вычисление корня p-той степени - Pascal
Помогите с задачей, вроде задача легкая, а голову как заступорило. Составить программу pRoot(x,p,eps), которая вычисляет значение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru