راهنمایی در مورد یک دنباله در vb

iceboy67

Member
برنامه ای که 10 جمله اول دنباله زیر را نمایش دهد؟

....1,1,2,6,24​

البته تا آنجا که متوجه شدم یه چیزی مثل فیبوناچی با این تفاوت که از عدد سوم علاوه بر جمع کردن دو عدد قبلی شروع می کند به ضرب کردن حاصل, در یک و دو و به بالا
اما همین که ضرب به فیبوناچی اضافه می کنم اون جوابی را که می خوام به من نمی ده​
 

Ultra_PRG

Member
اگه ممکنه دو سه جمله دیگر رو هم بنویس تا ببینم دنبالت چیه با این 5 تا جمله که دادی نمیشه دقیقا فهمید چیه؟
 

Ultra_PRG

Member
دنباله اعداد فیبو ناچی ضربی

فکر کنم فهمیدم چه دنباله ای رو می خوای برای همین برات برنامشو نوشتم که هر چند جمله ای از این دونباله رو که بخوای برات چاپ می کنه خیلی هم راحته .



این هم مثلا 8 جمله اول :

XF.jpg

امیدوارم منظورت رو درست فهمیده باشم

مشاهده پیوست XF.zip
 

iceboy67

Member
فکر کنم فهمیدم چه دنباله ای رو می خوای برای همین برات برنامشو نوشتم که هر چند جمله ای از این دونباله رو که بخوای برات چاپ می کنه خیلی هم راحته .



این هم مثلا 8 جمله اول :

XF.jpg

امیدوارم منظورت رو درست فهمیده باشم​



ممنون از راهنمایی خوبتان
ولی این کدی که نوشتی فقط برای 8 عدد کاربرد دارد چون متغییر ها را درست انتخاب نکردی

که اصل کدش به این صورت بود.

Private Sub Command1_Click()

Dim n As Double
Dim i As Integer
n = Val(txtF.Text)
txtA.Text = ""
For i = 1 To n
txtA.Text = txtA.Text + Str(XF(i)) + Space(2)
Next i
End Sub
Private Function XF(ByVal n As Integer) As Double

Dim i As Integer
Dim a As Double
Dim b As Double
Dim c As Double

If n <= 2 Then
XF = 1
Exit Function
End If

a = 1
b = 1
For i = 3 To n
c = a + b
a = b
b = c * (i - 2)
Next i
XF = b
End Function
 

armin_mx

Member
از واریانت انتخاب می کردی خوب..! مثل پایین.
یکم ساده تر هم میشد نوشت
Const PI = 3.141592

Private Sub Command1_Click()

Dim n
Dim i
n = Val(txtF.Text)
txtA.Text = ""
For i = 1 To n
txtA.Text = txtA.Text + Str(xf(i)) + Space(2)
Next i
End Sub
Private Function xf(ByVal n)

Dim i
Dim a
Dim b
Dim c

If n <= 2 Then
xf = 1
Exit Function
End If

a = 1
b = 1
For i = 3 To n
c = a + b
a = b
b = c * (i - 2)
Next i

xf = b

End Function

اینم یکم ساده تر..
کد:
Private Sub Command1_Click()
n = InputBox("")
s = 1
For i = 1 To n
Print i * s;
s = i * s
Next
End Sub
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا