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:
Posta un commento