Largest five adjacent number: Difference between revisions

From Rosetta Code
Content added Content deleted
(→‎{{header|Raku}}: Add a Raku example)
(Added Wren)
Line 40: Line 40:
The largest number is:
The largest number is:
99638
99638
</pre>

=={{header|Wren}}==
{{libheader|Wren-fmt}}
Very simple approach as there's little need for speed here.
<lang ecmascript>import "random" for Random
import "/fmt" for Fmt

var rand = Random.new()
var digits = List.filled(1000, 0)
for (i in 0...999) digits[i] = rand.int(10)
var number = digits.join()
for (i in 99999...0) {
var quintet = Fmt.swrite("$05d", i)
if (number.contains(quintet)) {
Fmt.print("The largest number formed from 5 adjacent digits is: $,d", Num.fromString(quintet))
return
}
}</lang>

{{out}}
Sample output:
<pre>
The largest number formed from 5 adjacent digits is: 99,850
</pre>
</pre>

Revision as of 16:25, 27 September 2021

Largest five adjacent number is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.
Task


Generate random 1000-digit number.
Find the five adjacent digits in the 1000-digit number that is largest.

Raku

<lang perl6>say (^10).roll(1000).rotor(5 => -4)».join.max</lang>

Sample output (it's random):
99625

Ring

<lang ring> digit = "" max = 0 maxOld = 0 limit = 1000

for n = 1 to limit

   rand = random(9)
   randStr = string(rand)
   digit += randStr

next

for n = 1 to len(digit)-5

   res = substr(digit,n,5)
   resNum = number(res)
   if resNum > maxold 
      max = resNum
      maxOld = max
   ok

next

see max + nl </lang>

Output:
The largest number is:
99638

Wren

Library: Wren-fmt

Very simple approach as there's little need for speed here. <lang ecmascript>import "random" for Random import "/fmt" for Fmt

var rand = Random.new() var digits = List.filled(1000, 0) for (i in 0...999) digits[i] = rand.int(10) var number = digits.join() for (i in 99999...0) {

   var quintet = Fmt.swrite("$05d", i)
   if (number.contains(quintet)) {
       Fmt.print("The largest number formed from 5 adjacent digits is: $,d", Num.fromString(quintet))
       return
   }

}</lang>

Output:

Sample output:

The largest number formed from 5 adjacent digits is: 99,850