Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8

Программа, вычисляющая 5000 знаков числа Пи

22.10.2015, 12:55. Показов 2411. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Программа проверена.

QBasic/QuickBASIC
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
REM    
REM    Программа вычисляет 5000 знаков числа пи.
REM
REM    Вычисление числа пи по формуле:
REM    пи = 16*arctg(1 / 5) - 4*arctg(1 / 239)
REM    arctg(x) = x - x^3 / 3 + x^5 / 5 - x^7 / 7 + ...
REM
REM    Чтобы не усложнять задачу количество членов
REM    обоих рядов было вычислено заранее на калькуляторе.
REM    1-ый ряд - 3579 слагаемых. 2-ой ряд - 1052 слагаемых
REM    Абсалютная погрешность меньше 62000 единиц младшего
REM    разряда. Просто отбросьте последние 5 неверных знаков.
REM    Кроме того, число 1/239 = 0.(0041841) - имеет период,
REM    указанный в скобках (0041841)
 
DECLARE FUNCTION SSTR$ (n&)
DECLARE SUB div (d&, x&())
DEFLNG A-Y
DIM z AS STRING
DIM a(5005), b(5005), s(5005), t(5005)
 
CLS
OPEN "314.txt" FOR OUTPUT AS #1
a(1) = 2
s(1) = 2
 
FOR n = 1 TO 3579
   IF n MOD 200 = 0 THEN PRINT n
   e = 2 * n + 1: f = (-1) ^ n
   CALL div(25, a())
   FOR m = 1 TO 5005
      b(m) = a(m)
   NEXT m
   CALL div(e, b())
   FOR m = 1 TO 5005
      s(m) = s(m) + f * b(m)
   NEXT m
NEXT n
 
FOR n = 1 TO 5005
   s(n) = 4 * s(n)
NEXT n
 
FOR n = 5005 TO 1 STEP -1
   c = INT(s(n) / 10)
   s(n - 1) = s(n - 1) + c
   s(n) = s(n) - 10 * c
NEXT n
 
a(0) = 0
FOR n = 1 TO 4999 STEP 7
   a(n) = 0
   a(n + 1) = 0
   a(n + 2) = 4
   a(n + 3) = 1
   a(n + 4) = 8
   a(n + 5) = 4
   a(n + 6) = 1
NEXT n
 
FOR n = 1 TO 5005
   t(n) = a(n)
NEXT n
 
FOR n = 1 TO 1052
   e = 2 * n + 1: f = (-1) ^ n
   CALL div(57121, a())
   FOR m = 1 TO 5005
      b(m) = a(m)
   NEXT m
   CALL div(e, b())
   FOR m = 1 TO 5005
      t(m) = t(m) + f * b(m)
   NEXT m
NEXT n
 
FOR n = 1 TO 5005
   s(n) = s(n) - t(n)
NEXT n
 
FOR n = 1 TO 5005
   s(n) = 4 * s(n)
NEXT n
 
FOR n = 5005 TO 1 STEP -1
   c = INT(s(n) / 10)
   s(n - 1) = s(n - 1) + c
   s(n) = s(n) - 10 * c
NEXT n
 
FOR i = 0 TO 5000
   z = SSTR(s(i))
   PRINT #1, z;
   IF i MOD 6 = 0 AND i MOD 30 <> 0 THEN
      PRINT #1, "  ";
   ELSEIF i MOD 30 = 0 THEN
      PRINT #1,
   END IF
NEXT i
 
CLOSE #1
END
 
SUB div (d AS LONG, x() AS LONG)
FOR i = 1 TO 5004
   c = x(i)
   x(i) = c \ d
   x(i + 1) = x(i + 1) + 10 * (c MOD d)
NEXT i
x(5005) = x(5005) \ d
END SUB
 
FUNCTION SSTR$ (n AS LONG)
   SSTR = LTRIM$(STR$(n))
END FUNCTION
 
 
REM   300 знаков числа ПИ после запятой
REM            (10 строк по 30 знаков)
REM 
REM   3.
REM   141592  653589  793238  462643  383279
REM   502884  197169  399375  105820  974944
REM   592307  816406  286208  998628  034825
REM   342117  067982  148086  513282  306647
REM   093844  609550  582231  725359  408128
REM 
REM   481117  450284  102701  938521  105559
REM   644622  948954  930381  964428  810975
REM   665933  446128  475648  233786  783165
REM   271201  909145  648566  923460  348610
REM   454326  648213  393607  260249  141273
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.10.2015, 12:55
Ответы с готовыми решениями:

Программа, вычисляющая двойной факториал числа
Создайте программу, вычисляющую двойной факториал числа.

Программа, вычисляющая корень четвертой степени от числа
Доброго времени суток. Народ, кому не сложно, создайте программу, вычисляющую корень четвертой степени от числа.

Программа вычисляющая произведение цифр заданного числа
Здравствуйте! Прошу знатоков Си программирования помочь с решением нескольких задач. Простейшая из них: &quot;Написать программу...

3
22.10.2015, 15:25

Не по теме:

Сколько времени занимает вычисление 5000 знаков этим алгоритмом?

0
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
22.10.2015, 16:53  [ТС]
locm,
Точно не определял. Пару минут. Может 3 минуты.
0
 Аватар для MiXa42
4 / 4 / 1
Регистрация: 26.11.2015
Сообщений: 63
08.12.2015, 12:11
Ух тыж 2 секунды и вот результат :
QBasic/QuickBASIC
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
3
141592  653589  793238  462643  383279
502884  197169  399375  105820  974944
592307  816406  286208  998628  034825
342117  067982  148086  513282  306647
093844  609550  582231  725359  408128
481117  450284  102701  938521  105559
644622  948954  930381  964428  810975
665933  446128  475648  233786  783165
271201  909145  648566  923460  348610
454326  648213  393607  260249  141273
724587  006606  315588  174881  520920
962829  254091  715364  367892  590360
011330  530548  820466  521384  146951
941511  609433  057270  365759  591953
092186  117381  932611  793105  118548
074462  379962  749567  351885  752724
891227  938183  011949  129833  673362
440656  643086  021394  946395  224737
190702  179860  943702  770539  217176
293176  752384  674818  467669  405132
000568  127145  263560  827785  771342
757789  609173  637178  721468  440901
224953  430146  549585  371050  792279
689258  923542  019956  112129  021960
864034  418159  813629  774771  309960
518707  211349  999998  372978  049951
059731  732816  096318  595024  459455
346908  302642  522308  253344  685035
261931  188171  010003  137838  752886
587533  208381  420617  177669  147303
598253  490428  755468  731159  562863
882353  787593  751957  781857  780532
171226  806613  001927  876611  195909
216420  198938  095257  201065  485863
278865  936153  381827  968230  301952
035301  852968  995773  622599  413891
249721  775283  479131  515574  857242
454150  695950  829533  116861  727855
889075  098381  754637  464939  319255
060400  927701  671139  009848  824012
858361  603563  707660  104710  181942
955596  198946  767837  449448  255379
774726  847104  047534  646208  046684
259069  491293  313677  028989  152104
752162  056966  024058  038150  193511
253382  430035  587640  247496  473263
914199  272604  269922  796782  354781
636009  341721  641219  924586  315030
286182  974555  706749  838505  494588
586926  995690  927210  797509  302955
321165  344987  202755  960236  480665
499119  881834  797753  566369  807426
542527  862551  818417  574672  890977
772793  800081  647060  016145  249192
173217  214772  350141  441973  568548
161361  157352  552133  475741  849468
438523  323907  394143  334547  762416
862518  983569  485562  099219  222184
272550  254256  887671  790494  601653
466804  988627  232791  786085  784383
827967  976681  454100  953883  786360
950680  064225  125205  117392  984896
084128  488626  945604  241965  285022
210661  186306  744278  622039  194945
047123  713786  960956  364371  917287
467764  657573  962413  890865  832645
995813  390478  027590  099465  764078
951269  468398  352595  709825  822620
522489  407726  719478  268482  601476
990902  640136  394437  455305  068203
496252  451749  399651  431429  809190
659250  937221  696461  515709  858387
410597  885959  772975  498930  161753
928468  138268  683868  942774  155991
855925  245953  959431  049972  524680
845987  273644  695848  653836  736222
626099  124608  051243  884390  451244
136549  762780  797715  691435  997700
129616  089441  694868  555848  406353
422072  225828  488648  158456  028506
016842  739452  267467  678895  252138
522549  954666  727823  986456  596116
354886  230577  456498  035593  634568
174324  112515  076069  479451  096596
094025  228879  710893  145669  136867
228748  940560  101503  308617  928680
920874  760917  824938  589009  714909
675985  261365  549781  893129  784821
682998  948722  658804  857564  014270
477555  132379  641451  523746  234364
542858  444795  265867  821051  141354
735739  523113  427166  102135  969536
231442  952484  937187  110145  765403
590279  934403  742007  310578  539062
198387  447808  478489  683321  445713
868751  943506  430218  453191  048481
005370  614680  674919  278191  197939
952061  419663  428754  440643  745123
718192  179998  391015  919561  814675
142691  239748  940907  186494  231961
567945  208095  146550  225231  603881
930142  093762  137855  956638  937787
083039  069792  077346  722182  562599
661501  421503  068038  447734  549202
605414  665925  201497  442850  732518
666002  132434  088190  710486  331734
649651  453905  796268  561005  508106
658796  998163  574736  384052  571459
102897  064140  110971  206280  439039
759515  677157  700420  337869  936007
230558  763176  359421  873125  147120
532928  191826  186125  867321  579198
414848  829164  470609  575270  695722
091756  711672  291098  169091  528017
350671  274858  322287  183520  935396
572512  108357  915136  988209  144421
006751  033467  110314  126711  136990
865851  639831  501970  165151  168517
143765  761835  155650  884909  989859
982387  345528  331635  507647  918535
893226  185489  632132  933089  857064
204675  259070  915481  416549  859461
637180  270981  994309  924488  957571
282890  592323  326097  299712  084433
573265  489382  391193  259746  366730
583604  142813  883032  038249  037589
852437  441702  913276  561809  377344
403070  746921  120191  302033  038019
762110  110044  929321  516084  244485
963766  983895  228684  783123  552658
213144  957685  726243  344189  303968
642624  341077  322697  802807  318915
441101  044682  325271  620105  265227
211166  039666  557309  254711  055785
376346  682065  310989  652691  862056
476931  257058  635662  018558  100729
360659  876486  117910  453348  850346
113657  686753  249441  668039  626579
787718  556084  552965  412665  408530
614344  431858  676975  145661  406800
700237  877659  134401  712749  470420
562230  538994  561314  071127  000407
854733  269939  081454  664645  880797
270826  683063  432858  785698  305235
808933  065757  406795  457163  775254
202114  955761  581400  250126  228594
130216  471550  979259  230990  796547
376125  517656  751357  517829  666454
779174  501129  961489  030463  994713
296210  734043  751895  735961  458901
938971  311179  042978  285647  503203
198691  514028  708085  990480  109412
147221  317947  647772  622414  254854
540332  157185  306142  288137  585043
063321  751829  798662  237172  159160
771669  254748  738986  654949  450114
654062  843366  393790  039769  265672
146385  306736  096571  209180  763832
716641  627488  880078  692560  290228
472104  031721  186082  041900  042296
617119  637792  133757  511495  950156
604963  186294  726547  364252  308177
036751  590673  502350  728354  056704
038674  351362  222477  158915  049530
984448  933309  634087  807693  259939
780541  934144  737744  184263  129860
809988  868741  326047  21
Миниатюры
Программа, вычисляющая 5000 знаков числа Пи  
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.12.2015, 12:11
Помогаю со студенческими работами здесь

Рекурсивная программа, вычисляющая значение числа Пи (Turbo Prolog)
Здравствуйте! Нужно создать программу расчета функции. Программа должна запрашивать у пользователя: - N – количество членов ряда; ...

Вывести 5 последних знаков до десятичной запятой и 5 первых знаков числа
Собсна сабж: 5 последних знаков до десятичной запятой и 5 первых знаков после десятичной запятой для числа (1+sqrt(3) )^n n ...

Программа для вывода на экран знаков препинания(с указанием их АСКИ-кода) знаков препинания
Напишите и отладьте программу для вывода на экран(с указанием их АСКИ -кода) знаков препинания

Программа вычисляющая 2 в степени n
Доброго времени суток, пожалуйста помогите!!!!!! Составить программу на Assembler, рассчитывающую и выводящую на экран первую и...

программа, вычисляющая выражение
Нужно написать программу, которая, для любого количества чисел (как целых, так и нет) вычисляет выражение с любыми арифметическими...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Функция установки текстового статуса в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru