Data update
This commit is contained in:
parent
81fd053722
commit
52a6ef48dd
10248 changed files with 63654 additions and 6775 deletions
37
Task/Executable-library/FreeBASIC/executable-library-1.basic
Normal file
37
Task/Executable-library/FreeBASIC/executable-library-1.basic
Normal 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
|
||||
23
Task/Executable-library/FreeBASIC/executable-library-2.basic
Normal file
23
Task/Executable-library/FreeBASIC/executable-library-2.basic
Normal 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
|
||||
|
|
@ -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
|
||||
)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue