sabato, gennaio 13, 2007

PROBLEMA DEL FIBONACCI

Ecco come ho risolto il problema del Fibonacci propostmi nel compito

Questo era il problema:
A un giovane viene proposto di trovare tre numeri la cui somma sia 10, tali che il prodotto tra il minore e il maggiore sia uguale all'altro numero moltiplicato per se stesso. Quali sono i tre numeri?

Il mio obbiettivo, ovviamente, era far trovare al computer tre numeri che :

1) dessero come somma fra loro 10;

2) il prodotto fra il maggiore e il minore fosse uguale al quadrato dell'altro numero.

A questo punto ho optato per far scegliere a random 3 numeri dal computer fin quando questi tre numeri non rispondessero alle 2 condizioni precedentemente elencate.

Ecco la Macro utilizzata:


Sub prova()
Dim n%(3)

r = "n"
ri = 1

Do While r = "n"

ri = ri + 1
n(1) = Int(Rnd(1) * 11)
n(2) = Int(Rnd(1) * 11)
n(3) = Int(Rnd(1) * 11)

Max = 0
Min = 10

For i = 1 To 3

If n(i) > Max Then
Max = n(i)

End If

If n(i) < Min Then
Min = n(i)

End If

Next

s = n(1) + n(2) + n(3)
a = s - Max - Min

If (n(1) + n(2) + n(3) = 10) And (Max * Min = a ^ 2) Then
r = "s"
End If

Cells(ri, 1) = n(1)
Cells(ri, 2) = n(2)
Cells(ri, 3) = n(3)
Cells(ri, 4) = Min
Cells(ri, 5) = Max
Cells(ri, 6) = a ^ 2
Cells(ri, 7) = Max * Min
Cells(ri, 8) = n(1) + n(2) + n(3)

Loop

End Sub

Nessun commento: