September 2017 Update

This commit is contained in:
Ingy döt Net 2017-09-23 10:01:46 +02:00
parent bba7bfd280
commit ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions

View file

@ -1,24 +1,24 @@
func hailstone (n) {
var sequence = [n];
var sequence = [n]
while (n > 1) {
sequence.append(
n.is_even ? n.div!(2)
: n.mul!(3).add!(1)
);
sequence << (
n.is_even ? n.div!(2)
 : n.mul!(3).add!(1)
)
}
return(sequence);
return(sequence)
}
 
# The hailstone sequence for the number 27
var arr = hailstone(var nr = 27);
say "#{nr}: #{arr.first(4).to_s} ... #{arr.last(4).to_s} (#{arr.len})";
var arr = hailstone(var nr = 27)
say "#{nr}: #{arr.first(4)} ... #{arr.last(4)} (#{arr.len})"
 
# The longest hailstone sequence for a number less than 100,000
var h = [0, 0];
99_999.times { |i|
var h = [0, 0]
for i (1 .. 99_999) {
(var l = hailstone(i).len) > h[1] && (
h = [i, l];
);
h = [i, l]
)
}
printf("%d: (%d)\n", h...);
 
printf("%d: (%d)\n", h...)