Before trying the problem "note your opinion as to whether the observed pattern is known to continue, known not to continue, or not known at all."
Write down the positive integers. Take the first number. Delete the second after that, the third after that, and so on. Form the partial sums and repeat.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
2 6 11 18 26 35 46 58 71 85 101 118 136 155 175
6 24 50 96 154 225 326 444 580 735
24 120 274 600 1044 1624
120 720 1764
720
Does the pattern of factorials continue?
The truncated table below confirms the suspicion the factorials continue:
2 6 11 18 26 35 46 58 71
6 24 50 96 154 225 326 444 580
24 120 274 600 1044 1624 2556 3708 5104
120 720 1764 4320 8028 13132 22212 33984 48860
720 5040 13068 35280 69264 118124 212976 341136 509004
5040 40320 109584 322560 663696 1172700 2239344 3733920
40320 362880 1026576 3265920 6999840 12753576 25659360
362880 3628800 10628640 36288000 80627040 150917976 318540960
3628800 39916800 120543840 439084800 1007441280 1931559552
39916800 479001600 1486442880 5748019200 13575738240 26596717056
479001600 6227020800 19802759040 80951270400 196287356160 392156797824
6227020800 87178291200 283465647360 1220496076800 3031488633600
87178291200 1307674368000 4339163001600 19615115520000 49811492505600
1307674368000 20922789888000 70734282393600 334764638208000 867718162483200
20922789888000 355687428096000 1.2234055905792E+15 6.046686277632E+15
(rows truncated to keep the table from stretching too far to the right)
DefDbl A-Z
Dim crlf$, sums(1, 10000)
Private Sub Form_Load()
Form1.Visible = True
Text1.Text = ""
crlf = Chr$(13) + Chr$(10)
lim = 10000
For i = 1 To lim
sums(0, i) = i
Next
For generation = 1 To 15
avoid0 = 1: avoid = 1: take = 1
For i = 1 To lim
If take = avoid Then
avoid0 = avoid0 + 1
avoid = (avoid0 * avoid0 + avoid0) / 2
take = take + 1
End If
sums(1, i) = sums(1, i - 1) + sums(0, take)
take = take + 1
If take > lim Then lim = i - 1: Exit For
If i < 10 Then
Text1.Text = Text1.Text & Str(sums(1, i)) & " "
End If
DoEvents
Next
Text1.Text = Text1.Text & crlf
For i = 1 To lim
sums(0, i) = sums(1, i)
Next
Next generation
Text1.Text = Text1.Text & crlf & crlf
Text1.Text = Text1.Text & crlf & " done"
End Sub
|
Posted by Charlie
on 2017-09-28 15:15:27 |