2011-04-03 12 views
6

का उपयोग कर वीबीनेट में फाइबोनैकी अनुक्रम कृपया आप पहले 10 फिबोनाची संख्याओं को प्रदर्शित करने में मेरी सहायता कर सकते हैं। मेरा कोड निम्नलिखित परिणाम प्रदर्शित करता है: 1, 2, 3, 5, 8, 13, 21, 34, 55 और मुझे इसे पहले दो फिबोनाची संख्याओं (0 और 1) को प्रदर्शित करने की आवश्यकता है। मुझे यह कैसे करना है?लूप

Public Class Form1 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Dim a As Integer = 0 
    Dim b As Integer = 1 
    Dim fib As Integer = 0 

    Do 
     fib = a + b 
     a = b 
     b = fib 
     Label1.Text = Label1.Text + fib.ToString & ControlChars.NewLine 
    Loop While fib < 55 
    End Sub 
End Class 

पेशेवर प्रोग्रामिंग में आपको फिबोनैकी अनुक्रमों का उपयोग करने की आवश्यकता होगी?

उत्तर

3

बस Do ... while से पहले

Label1.Text = Label1.Text + a.ToString & ControlChars.NewLine 
Label1.Text = Label1.Text + b.ToString & ControlChars.NewLine 

जोड़ें।

फिबोनैकी संख्या से जुड़ा हुआ अनुप्रयोगों के लिए देखें: Fibonacci: Applications

2
इसके बजाय क्रम संख्या में अगले की गणना और फिर उत्पादन के लिए परिणाम जोड़ने की

, उलटे क्रम में यह कार्य करें:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Dim a As Integer = 0 
    Dim b As Integer = 1 
    Dim fib As Integer 

    Do 
     Label1.Text += a.ToString & ControlChars.NewLine 
     fib = a + b 
     a = b 
     b = fib 
    Loop While a <= 55 

End Sub 
+0

इस तरह आप पहले मान (0) और न ही अंतिम मान मुद्रित नहीं करते हैं। – log0

+0

वास्तव में, इसे इंगित करने के लिए धन्यवाद। सही किया। – Anax

1

ही में जिस तरह से आपने अपने कोड में पहले दो फाइबोनैकी संख्याओं को 0 और 1 के रूप में परिभाषित किया है, आपको उन्हें शुरुआत में लेबल स्ट्रिंग में रखना चाहिए (यानी लूप में नहीं)। आपको संभवत: 10 वें स्थान पर जानने के आधार पर आपके द्वारा गणना की गई फिबोनैकी संख्याओं की संख्या पर लूप स्थिति का भी उपयोग करना चाहिए।

मैंने कभी भी काम पर फिबोनाची संख्याओं का उपयोग नहीं किया है, हालांकि वे सुनहरे अनुपात, मैट्रिक्स फॉर्म का उपयोग करते हुए, एक सरल अनुक्रमिक soloution (जैसे आपकी), एक लुकअप टेबल के साथ, एक बेवकूफ रिकर्सिव soloution के साथ एक अच्छा सीखने अभ्यास है, ...

-1
Dim a, b, c as integer 

a=0 

b=1 

print a 

print b 

while c<(n-c) 

c=a+b 

print c 

a=b 

b=c 

wend 

print "This is Fibonacci Series" 

End Sub 
0
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click 
    Dim a As Integer = 0 
    Dim b As Integer = 1 
    Dim fib As Integer 
    Dim userinput, i As Integer 
    userinput = InputBox("how many") 
    i = userinput 
    ListView3.Items.Add(1) 
    Do 
     fib = a + b 
     a = b 
     b = fib 
     ListView3.Items.Add(fib) 
     i = i + 1 
    Loop While fib < i 
End Sub 

समाप्ति कक्षा

0

इस कोड का प्रयास करें:

Dim arr As New ArrayList() 
    Console.Write("The Fibonacci Series is : ") 
    For i As Integer = 0 To 10 
     If i = 0 Or i = 1 Then 
      arr.Add(i) 
      Console.Write(arr(i).ToString() + ", ")    
     Else 
      arr.Add(arr(i - 2) + arr(i - 1)) 
      If i = 10 Then 
       Console.Write(arr(i).ToString()) 
      Else 
       Console.Write(arr(i).ToString() + ", ") 
      End If 
     End If 
    Next 
    Console.Read() 
0

सुंदर सिंपल, बस एक बटन का उपयोग करके, और आप जितनी चाहें उतनी संख्या के अनुक्रम उत्पन्न कर सकते हैं।

Sub fibonacci() 

mycount = Application.CountA(Range("A:A")) 

e = mycount - 1 
fib = 0 
fib = Cells(e, 1).Value + Cells(e + 1, 1).Value 
Cells(mycount + 1, 1).Value = fib 
mycount = mycount + 1 

End Sub