Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 2
1

на длинную арифметику.

31.03.2011, 09:23. Показов 1087. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Составить программу для вычисления 100!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.03.2011, 09:23
Ответы с готовыми решениями:

на длинную арифметику.
Вычислить 7^123. результат должен поместится на экране

Задача на длинную арифметику
Нужно вычислить 100! - 2^100, используя длинную арифметику...Подскажите, кто чем может, пожалуйста.

Задача на длинную арифметику
Итак, входные данные: число S<=60000. Это s-тое число фибонначи (если 2 то 2, если 4 то 5, если 5...

Найти значение выражения 1*1+2*2+.+n*n используя длинную арифметику
Найти значение выражения 1*1+2*2+...+n*n используя длинную арифметику

2
46 / 46 / 15
Регистрация: 09.03.2011
Сообщений: 119
31.03.2011, 11:17 2
Лучший ответ Сообщение было отмечено как решение

Решение

Для работы типа extended включи сопроцессор:
(В TurboPascal: Options - Compiler - NumericProcessing - 8087/80287)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
program fact;
uses crt;
function fact(x:integer):extended;
        begin
          if x=0 then fact:=1
          else
           fact:=fact(x-1)*x;
         end;
var a:integer;
 
begin
clrscr;
 write('Vvedite a=');
 readln(a);
  if (a>0) then
   begin
    writeln(' a!= ',fact(a));
   end
  else
   write('DOLZNO a>0');
readln;
end.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
31.03.2011, 12:00 3
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
uses crt;
const nmax=1024;
type ts = 0..9;
chislo=array[1..nmax] of ts;
{обнуление массива цифр}
procedure nul(var a:chislo);
var i:1..nmax;
begin
for i:=1 to nmax do
a[i]:=0;
end;
{перевод строки в массив цифр}
procedure perevod(s:string;var a:chislo);
var i,n :1..nmax;
begin
n:=length(s);
nul(a);
{переводим символы цифр в их числовые значения и переворачиваем строку}
for i:=1 to n do
a[n-i+1]:=ord(s[i])-ord('0');
end;
{считаем длину числа без ведомых нолей}
function kol(const a: chislo):integer;
var i:1..nmax;
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:1..nmax; 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;
end;
{вывод на экран}
procedure pechat(var a : chislo);
var i:1..nmax;
begin
for i:=kol(a) downto 1 do
write(a[i]);
writeln;
end;
{сложение массивов цифр}
procedure sum(a,b:chislo;var c:chislo);
var i,j,r:longint; p:0..9;
begin
p:=0;
for j:=1 to kol(a) do
begin
r:=b[j]+a[j]+p;
p:=r div 10;
c[j]:=r mod 10;
end;
c[j+1]:=p;
end;
var s:string; a,b,c,d,q:chislo; i,n,f:integer;
begin
clrscr;
{write('Factorial ');
readln(n); если нужен ввод числа}
n:=100;
nul(b);
b[1]:=1;
nul(c);
nul(a);
a[1]:=1;
c[1]:=1;
d[1]:=1;
for i:=2 to n do
begin
for f:=1 to nmax do
a[f]:=c[f];
sum(a,d,c);
umn(b,c,q);
for f:=1 to nmax do
b[f]:=q[f];
end;
pechat(q);
readln
end.
0
31.03.2011, 12:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.03.2011, 12:00
Помогаю со студенческими работами здесь

Знаете длинную арифметику?
Вычислить точное значение суммы 1^2 + 2^2 +3^2 +...+ n^2 (n>1999). Задачу необходимо выполнить...

программы на длинную арифметику
Составить программу для вычисления точного значения суммы 1! +2! + 3! +...+ n! при n > 10.

3адача на "Длинную арифметику"
Встречаются ли среди цифр числа 2^11213-1 две идущие подряд девятки?

Задача на длинную арифметику
нужно вычислить 100! + 2^100 (2 в степени 100) и в результате сохранить все цифры.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru