数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
楼主: ysr

几个vb小程序

[复制链接]
发表于 2023-2-9 21:51 | 显示全部楼层
ysr 发表于 2023-2-9 06:57
这是兔子数列的python程序,其中也加了取整函数,不加就全是小数了。
  1. a,b,f = 0,1,[]
  2. for i in range(100):
  3.     a, b = b, a + b
  4.     f.append(a)
  5. print(f)
复制代码


[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269, 2178309, 3524578, 5702887, 9227465, 14930352, 24157817, 39088169, 63245986, 102334155, 165580141, 267914296, 433494437, 701408733, 1134903170, 1836311903, 2971215073, 4807526976, 7778742049, 12586269025, 20365011074, 32951280099, 53316291173, 86267571272, 139583862445, 225851433717, 365435296162, 591286729879, 956722026041, 1548008755920, 2504730781961, 4052739537881, 6557470319842, 10610209857723, 17167680177565, 27777890035288, 44945570212853, 72723460248141, 117669030460994, 190392490709135, 308061521170129, 498454011879264, 806515533049393, 1304969544928657, 2111485077978050, 3416454622906707, 5527939700884757, 8944394323791464, 14472334024676221, 23416728348467685, 37889062373143906, 61305790721611591, 99194853094755497, 160500643816367088, 259695496911122585, 420196140727489673, 679891637638612258, 1100087778366101931, 1779979416004714189, 2880067194370816120, 4660046610375530309, 7540113804746346429, 12200160415121876738, 19740274219868223167, 31940434634990099905, 51680708854858323072, 83621143489848422977, 135301852344706746049, 218922995834555169026, 354224848179261915075]

回复 支持 反对

使用道具 举报

发表于 2023-2-9 21:56 | 显示全部楼层
还可以再简单一些:
  1. f = [1, 1]
  2. for i in range(2, 100):
  3.     f.append(f[i-1] +f[i-2])
  4. print(f)
复制代码
回复 支持 反对

使用道具 举报

发表于 2023-2-9 22:10 | 显示全部楼层
利用这两个递推式可以实现大数的高速计算
\[F_{2n}=F_n(2F_{n+1}-F_{n})\]
\[F_{2n+1}=F_{n+1}^2+F_n^2\]

点评

ysr
好!还是你的程序厉害,学习了,给你点个赞!  发表于 2023-2-9 23:31
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-10 00:04 | 显示全部楼层
w=0
w=1
w=1
w=2
w=3
w=5
w=8
w=13
w=21
w=34
w=55
w=89
w=144
w=233
w=377
w=610
w=987
w=1597
w=2584
w=4181
w=6765
w=10946
w=17711
w=28657
w=46368
w=75025
w=121393
w=196418
w=317811
w=514229
w=832040
w=1346269
w=2178309
w=3524578
w=5702887
w=9227465
w=14930352
w=24157817
w=39088169
w=63245986
w=102334155
w=165580141
w=267914296
w=433494437
w=701408733
w=1134903170
w=1836311903
w=2971215073
w=4807526976
w=7778742049
w=12586269025
w=20365011074
w=32951280099
w=53316291173
w=86267571272
w=139583862445
w=225851433717
w=365435296162
w=591286729879
w=956722026041
w=1548008755920
w=2504730781961
w=4052739537881
w=6557470319842
w=10610209857723
w=17167680177565
w=27777890035288
w=44945570212853
w=72723460248141
w=117669030460994
w=190392490709135
w=308061521170129
w=498454011879264
VB递推程序得到的兔子数列
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-10 00:08 | 显示全部楼层
'兔子数列程序递推程序
Private Sub Command1_Click()
Dim a, b, c
a = Val(Text1)
b = 0
b1 = 0
b2 = 1
Do While b <= a
b1 = b2
w = Int(w)
s1 = s1 & " w=" & Val(b3) & vbCrLf
b2 = b3
b3 = b1 + b2


b = Val(b + 1)

Loop
Text2 = s1
End Sub
Private Sub Command2_Click()
Text1 = ""
Text2 = ""
End Sub
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-10 00:41 | 显示全部楼层
1 w=0
2 w=1
3 w=1
4 w=2
5 w=3
6 w=5
7 w=8
8 w=13
9 w=21
10 w=34
11 w=55
12 w=89
13 w=144
14 w=233
15 w=377
16 w=610
17 w=987
18 w=1597
19 w=2584
20 w=4181
21 w=6765
22 w=10946
23 w=17711
24 w=28657
25 w=46368
26 w=75025
27 w=121393
28 w=196418
29 w=317811
30 w=514229
31 w=832040
32 w=1346269
33 w=2178309
34 w=3524578
35 w=5702887
36 w=9227465
37 w=14930352
38 w=24157817
39 w=39088169
40 w=63245986
41 w=102334155
42 w=165580141
43 w=267914296
44 w=433494437
45 w=701408733
46 w=1134903170
47 w=1836311903
48 w=2971215073
49 w=4807526976
50 w=7778742049
51 w=12586269025
52 w=20365011074
53 w=32951280099
54 w=53316291173
55 w=86267571272
56 w=139583862445
57 w=225851433717
58 w=365435296162
59 w=591286729879
60 w=956722026041
61 w=1548008755920
62 w=2504730781961
63 w=4052739537881
64 w=6557470319842
65 w=10610209857723
66 w=17167680177565
67 w=27777890035288
68 w=44945570212853
69 w=72723460248141
70 w=117669030460994
71 w=190392490709135
72 w=308061521170129
73 w=498454011879264
74 w=806515533049393
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-10 00:44 | 显示全部楼层
1 w=0
2 w=1
3 w=1
4 w=2
5 w=3
6 w=5
7 w=8
8 w=13
9 w=21
10 w=34
11 w=55
12 w=89
13 w=144
14 w=233
15 w=377
16 w=610
17 w=987
18 w=1597
19 w=2584
20 w=4181
21 w=6765
22 w=10946
23 w=17711
24 w=28657
25 w=46368
26 w=75025
27 w=121393
28 w=196418
29 w=317811
30 w=514229
31 w=832040
32 w=1346269
33 w=2178309
34 w=3524578
35 w=5702887
36 w=9227465
37 w=14930352
38 w=24157817
39 w=39088169
40 w=63245986
41 w=102334155
42 w=165580141
43 w=267914296
44 w=433494437
45 w=701408733
46 w=1134903170
47 w=1836311903
48 w=2971215073
49 w=4807526976
50 w=7778742049
51 w=12586269025
52 w=20365011074
53 w=32951280099
54 w=53316291173
55 w=86267571272
56 w=139583862445
57 w=225851433717
58 w=365435296162
59 w=591286729879
60 w=956722026041
61 w=1548008755920
62 w=2504730781961
63 w=4052739537881
64 w=6557470319842
65 w=10610209857723
66 w=17167680177565
67 w=27777890035288
68 w=44945570212853
69 w=72723460248141
70 w=117669030460994
71 w=190392490709135
72 w=308061521170129
73 w=498454011879264
74 w=806515533049393
75 w=1304969544928657
76 w=2111485077978050
77 w=3416454622906707
78 w=5527939700884757
79 w=8944394323791464
80 w=14472334024676221
81 w=23416728348467685
82 w=37889062373143906
83 w=61305790721611591
84 w=99194853094755497
85 w=160500643816367088
86 w=259695496911122585
87 w=420196140727489673
88 w=679891637638612258
89 w=1100087778366101931
90 w=1779979416004714189
91 w=2880067194370816120
92 w=4660046610375530309
93 w=7540113804746346429
94 w=12200160415121876738
95 w=19740274219868223167
96 w=31940434634990099905
97 w=51680708854858323072
98 w=83621143489848422977
99 w=135301852344706746049
100 w=218922995834555169026
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-10 00:51 | 显示全部楼层
/0/1/1/2/3/5/8/13/21/34
/55/89/144/233/377/610/987/1597/2584/4181
/6765/10946/17711/28657/46368/75025/121393/196418/317811/514229
/832040/1346269/2178309/3524578/5702887/9227465/14930352/24157817/39088169/63245986
/102334155/165580141/267914296/433494437/701408733/1134903170/1836311903/2971215073/4807526976/7778742049
/12586269025/20365011074/32951280099/53316291173/86267571272/139583862445/225851433717/365435296162/591286729879/956722026041
/1548008755920/2504730781961/4052739537881/6557470319842/10610209857723/17167680177565/27777890035288/44945570212853/72723460248141/117669030460994
/190392490709135/308061521170129/498454011879264/806515533049393/1304969544928657/2111485077978050/3416454622906707/5527939700884757/8944394323791464/14472334024676221
/23416728348467685/37889062373143906/61305790721611591/99194853094755497/160500643816367088/259695496911122585/420196140727489673/679891637638612258/1100087778366101931/1779979416004714189
/2880067194370816120/4660046610375530309/7540113804746346429/12200160415121876738/19740274219868223167/31940434634990099905/51680708854858323072/83621143489848422977/135301852344706746049/218922995834555169026
/354224848179261915075/573147844013817084101/927372692193078999176/1500520536206896083277/2427893228399975082453/3928413764606871165730/6356306993006846248183/10284720757613717413913/16641027750620563662096/26925748508234281076009
/43566776258854844738105/70492524767089125814114/114059301025943970552219/184551825793033096366333/298611126818977066918552/483162952612010163284885/781774079430987230203437/1264937032042997393488322/2046711111473984623691759/3311648143516982017180081
/5358359254990966640871840/8670007398507948658051921/14028366653498915298923761/22698374052006863956975682/36726740705505779255899443/59425114757512643212875125/96151855463018422468774568/155576970220531065681649693/251728825683549488150424261/407305795904080553832073954
/659034621587630041982498215/1066340417491710595814572169/1725375039079340637797070384/2791715456571051233611642553/4517090495650391871408712937/7308805952221443105020355490/11825896447871834976429068427/19134702400093278081449423917/30960598847965113057878492344/50095301248058391139327916261
/81055900096023504197206408605/131151201344081895336534324866/212207101440105399533740733471/343358302784187294870275058337/555565404224292694404015791808/898923707008479989274290850145/1454489111232772683678306641953/2353412818241252672952597492098/3807901929474025356630904134051/6161314747715278029583501626149
/9969216677189303386214405760200/16130531424904581415797907386349/26099748102093884802012313146549/42230279526998466217810220532898/68330027629092351019822533679447/110560307156090817237632754212345/178890334785183168257455287891792/289450641941273985495088042104137/468340976726457153752543329995929/757791618667731139247631372100066
/1226132595394188293000174702095995/1983924214061919432247806074196061/3210056809456107725247980776292056/5193981023518027157495786850488117/8404037832974134882743767626780173/13598018856492162040239554477268290/22002056689466296922983322104048463/35600075545958458963222876581316753/57602132235424755886206198685365216/93202207781383214849429075266681969
/150804340016807970735635273952047185/244006547798191185585064349218729154/394810887814999156320699623170776339/638817435613190341905763972389505493/1033628323428189498226463595560281832/1672445759041379840132227567949787325/2706074082469569338358691163510069157/4378519841510949178490918731459856482/7084593923980518516849609894969925639/11463113765491467695340528626429782121
/18547707689471986212190138521399707760/30010821454963453907530667147829489881/48558529144435440119720805669229197641/78569350599398894027251472817058687522/127127879743834334146972278486287885163/205697230343233228174223751303346572685/332825110087067562321196029789634457848/538522340430300790495419781092981030533/871347450517368352816615810882615488381/1409869790947669143312035591975596518914
/2281217241465037496128651402858212007295/3691087032412706639440686994833808526209/5972304273877744135569338397692020533504/9663391306290450775010025392525829059713/15635695580168194910579363790217849593217/25299086886458645685589389182743678652930/40934782466626840596168752972961528246147/66233869353085486281758142155705206899077/107168651819712326877926895128666735145224/173402521172797813159685037284371942044301
/280571172992510140037611932413038677189525/453973694165307953197296969697410619233826/734544867157818093234908902110449296423351/1188518561323126046432205871807859915657177/1923063428480944139667114773918309212080528/3111581989804070186099320645726169127737705/5034645418285014325766435419644478339818233/8146227408089084511865756065370647467555938/13180872826374098837632191485015125807374171/21327100234463183349497947550385773274930109
/34507973060837282187130139035400899082304280/55835073295300465536628086585786672357234389/90343046356137747723758225621187571439538669/146178119651438213260386312206974243796773058/236521166007575960984144537828161815236311727/382699285659014174244530850035136059033084785/619220451666590135228675387863297874269396512/1001919737325604309473206237898433933302481297/1621140188992194444701881625761731807571877809/2623059926317798754175087863660165740874359106
/4244200115309993198876969489421897548446236915/6867260041627791953052057353082063289320596021/11111460156937785151929026842503960837766832936/17978720198565577104981084195586024127087428957/29090180355503362256910111038089984964854261893/47068900554068939361891195233676009091941690850/76159080909572301618801306271765994056795952743/123227981463641240980692501505442003148737643593/199387062373213542599493807777207997205533596336/322615043836854783580186309282650000354271239929
/522002106210068326179680117059857997559804836265/844617150046923109759866426342507997914076076194/1366619256256991435939546543402365995473880912459/2211236406303914545699412969744873993387956988653/3577855662560905981638959513147239988861837901112/5789092068864820527338372482892113982249794889765/9366947731425726508977331996039353971111632790877/15156039800290547036315704478931467953361427680642/24522987531716273545293036474970821924473060471519/39679027332006820581608740953902289877834488152161
/64202014863723094126901777428873111802307548623680/103881042195729914708510518382775401680142036775841/168083057059453008835412295811648513482449585399521/271964099255182923543922814194423915162591622175362/440047156314635932379335110006072428645041207574883/712011255569818855923257924200496343807632829750245/1152058411884454788302593034206568772452674037325128/1864069667454273644225850958407065116260306867075373/3016128079338728432528443992613633888712980904400501/4880197746793002076754294951020699004973287771475874
/7896325826131730509282738943634332893686268675876375/12776523572924732586037033894655031898659556447352249/20672849399056463095319772838289364792345825123228624/33449372971981195681356806732944396691005381570580873/54122222371037658776676579571233761483351206693809497/87571595343018854458033386304178158174356588264390370/141693817714056513234709965875411919657707794958199867/229265413057075367692743352179590077832064383222590237/370959230771131880927453318055001997489772178180790104/600224643828207248620196670234592075321836561403380341
/971183874599339129547649988289594072811608739584170445/1571408518427546378167846658524186148133445300987550786/2542592393026885507715496646813780220945054040571721231/4114000911454431885883343305337966369078499341559272017/6656593304481317393598839952151746590023553382130993248/10770594215935749279482183257489712959102052723690265265/17427187520417066673081023209641459549125606105821258513/28197781736352815952563206467131172508227658829511523778/45624969256769882625644229676772632057353264935332782291/73822750993122698578207436143903804565580923764844306069
/119447720249892581203851665820676436622934188700177088360/193270471243015279782059101964580241188515112465021394429/312718191492907860985910767785256677811449301165198482789/505988662735923140767969869749836918999964413630219877218/818706854228831001753880637535093596811413714795418360007/1324695516964754142521850507284930515811378128425638237225/2143402371193585144275731144820024112622791843221056597232/3468097888158339286797581652104954628434169971646694834457/5611500259351924431073312796924978741056961814867751431689/9079598147510263717870894449029933369491131786514446266146
/14691098406862188148944207245954912110548093601382197697835/23770696554372451866815101694984845480039225387896643963981/38461794961234640015759308940939757590587318989278841661816/62232491515607091882574410635924603070626544377175485625797/100694286476841731898333719576864360661213863366454327287613/162926777992448823780908130212788963731840407743629812913410/263621064469290555679241849789653324393054271110084140201023/426547842461739379460149980002442288124894678853713953114433/690168906931029935139391829792095612517948949963798093315456/1116716749392769314599541809794537900642843628817512046429889
/1806885656323799249738933639586633513160792578781310139745345/2923602405716568564338475449381171413803636207598822186175234/4730488062040367814077409088967804926964428786380132325920579/7654090467756936378415884538348976340768064993978954512095813/12384578529797304192493293627316781267732493780359086838016392/20038668997554240570909178165665757608500558774338041350112205/32423247527351544763402471792982538876233052554697128188128597/52461916524905785334311649958648296484733611329035169538240802/84885164052257330097714121751630835360966663883732297726369399/137347080577163115432025771710279131845700275212767467264610201
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-10 00:52 | 显示全部楼层
'兔子数列程序递推程序
Private Sub Command1_Click()
Dim a, b, c
a = Val(Text1)
b = 1
B1 = 0
b2 = 1
b3 = 0
Do While b <= a
B1 = b2
If b Mod 10 = 0 Then
s1 = s1 & "/" & Trim(b3) & vbCrLf
Else
s1 = s1 & "/" & Trim(b3)
End If
b2 = b3
b3 = MPC1(Trim(B1), Trim(b2))


b = Val(b + 1)

Loop
Text2 = s1
End Sub
Private Sub Command2_Click()
Text1 = ""
Text2 = ""
End Sub

Public Function MPC1(D1 As String, D2 As String) As String 'jiafa
Dim x, y '两数长度

If Len(D1) >= Len(D2) Then
D4 = String(Len(D1) - Len(D2), "0") & D2
D3 = D1
Else
D4 = D2
D3 = String(Len(D2) - Len(D1), "0") & D1
End If
x = Len(D3): y = Len(D4)
Dim a() As Integer, B1() As Integer, C1() As Integer, E1() As Integer
ReDim a(1 To x)
ReDim B1(1 To y)
ReDim C1(1 To x)
ReDim E1(1 To x)
Dim i, j, C2, CJ, JW
For j = y To 1 Step -1 'D2
JW = 0 '进位清0
B1(j) = Mid$(D4, j, 1) '每位数
For i = x To 1 Step -1  'D1
   a(i) = Mid$(D3, i, 1) '每位数
   C1(i) = a(i) + B1(i) + JW '计算jia
   JW = C1(i) \ 10
   E1(i) = C1(i) Mod 10
  Next
  Next
  For r = 1 To x
  If JW = 0 Then
  MPC1 = MPC1 & E1(r)
  Else
  jc = jc & E1(r)
  MPC1 = JW & jc
  End If
  Next
  
End Function

回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-10 00:56 | 显示全部楼层
这个是VB程序,利用了大数加法可调用程序,可以算很大的数据,但是,速度太慢。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2024-4-28 17:48 , Processed in 0.073243 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表