Data update

This commit is contained in:
Ingy döt Net 2024-10-16 18:07:41 -07:00
parent 81fd053722
commit 52a6ef48dd
10248 changed files with 63654 additions and 6775 deletions

View file

@ -0,0 +1,37 @@
Function hailstone(number As Uinteger) As Uinteger
Dim As Uinteger count = 1
While number <> 1
If (number And 1) = 1 Then
number += number Shr 1 + 1
count += 2
Else
number Shr= 1
count += 1
End If
Wend
Return count
End Function
Sub Main()
Dim As Uinteger seqlen
seqlen = hailstone(27)
Print "Sequence length for 27 is "; seqlen
Dim maxlen As uInteger = 0
Dim maxnum As uInteger = 0
For number As Uinteger = 2 To 100000
seqlen = hailstone(number)
If seqlen > maxlen Then
maxlen = seqlen
maxnum = number
End If
Next
Print "The number with the longest hailstone sequence is "; maxnum
Print "Its sequence length is "; maxlen
Print
End Sub
Main()
Sleep

View file

@ -0,0 +1,23 @@
Declare Function hailstone Alias "hailstone" (Byval arg As Uinteger) As Uinteger
Dim Shared freq(351) As Uinteger
For number As Uinteger = 2 To 100000
Dim seqlen As Uinteger = hailstone(number)
freq(seqlen) += 1
Next
Dim max As Uinteger = 0
Dim mostcommon As Uinteger
For i As Uinteger = 0 To 351
If freq(i) > max Then
max = freq(i)
mostcommon = i
End If
Next
Print "The most common sequence length is "; mostcommon
Print "It occurs "; max; " times"
Sleep

View file

@ -3,10 +3,10 @@ hailseq=: -:`(1 3&p.)@.(2&|) ^:(1 ~: ]) ^:a:"0
9!:29]1
9!:27'main 0'
main=:3 :0
smoutput 'Hailstone sequence for the number 27'
smoutput hailseq 27
smoutput ''
smoutput 'Finding number with longest hailstone sequence which is'
smoutput 'less than 100000 (and finding that sequence length):'
smoutput (I.@(= >./),>./) #@hailseq i.1e5
echo 'Hailstone sequence for the number 27'
echo hailseq 27
echo ''
echo 'Finding number with longest hailstone sequence which is'
echo 'less than 100000 (and finding that sequence length):'
echo (I.@(= >./),>./) #@hailseq i.1e5
)

View file

@ -2,7 +2,7 @@ require '~temp/hailseq.ijs'
9!:29]1
9!:27'main 0'
main=:3 :0
smoutput 'Finding most frequent hailstone sequence length for'
smoutput 'Hailstone sequences for whole numbers less than 100000:'
smoutput {:{.\:~ (#/.~,.~.) #@hailseq }.i.1e5
echo 'Finding most frequent hailstone sequence length for'
echo 'Hailstone sequences for whole numbers less than 100000:'
echo {:{.\:~ (#/.~,.~.) #@hailseq }.i.1e5
)