Programmes à tester ici : https://tio.run/#golfscript
Programmes de la vidéo
Somme des entiers
10 .)*2/
donne 55
Syracuse version 1
27 .2%{3*)}{2/}if
donne 82
16 3*).2%6\?/
donne 8
Maximum d’un tableau
[2 5 1 3] $-1=
donne 5
Rentre Avec Tes Pieds
['RENTRE' 'AVEC' 'TES' 'PIEDS'] {[0=]}%'.'*
donne "R.A.T.P"
Fractions continues et nombre d’or
1{-1?).p}10*;
Somme des chiffres d’un entier
{0 {\.}{.10/\10%@+}while;}:sdc;
{.{.10%\10/sdc}0if+}:sdc;
Syracuse : Temps de vol
{0{\.(}{.2%\.3*)\2/if\)}while;}:syr;
{0{)\.2%\.3*)\2/if.(@\}do\;}:syr;
{{(}{3*).2%6\?/}/,}:syr;
Exemples supplémentaires (Project Euler)
P1 / Multiples de 3 ou 5 : https://projecteuler.net/problem=1
1000,.{3%},{5%},-{+}*
1000, : Création de la liste 0 à 999
. : On duplique la liste
{3%}, : On filtre ceux qui ont un reste non nul en les divisant par 3
{5%}, : Et ceux qui ont un reste non nul en les divisant par 5
- : On garde les multiples de 3 ou 5
{+}* : Réduction par la somme
P2 / Nombres de Fibonacci pairs : https://projecteuler.net/problem=2
0 1{2000.*<}{.@+}/\;.{2%},-{+}*
0 1 : On place 0 et 1 sur la pile
{2000.*<}{}/ : Tant que l'on ne dépasse pas 4 millions, ajout ds tableau
.@+ : Nombre Fibonacci suivant (a b -> a b b -> b b a -> b b+a)
\; : On garde uniquement le tableau
.{2%},- : On duplique le tableau et on ne garde que les nombres pairs
{+}* : Réduction par la somme
P6 / Sum square difference : https://projecteuler.net/problem=6
101,(;.{+}*2?\{2?}%{+}*-
101, : [0 ... 100]
( : supprime le 1er élément et le met à la fin [1 ... 100] 0
;. : supprime le 0 et duplique le tableau
{+}*2? : réduction par la somme de l'autre tableau puis carré
\{2?}%{+}* : SWAP, met chaque élément au carré puis réduction par la somme
- : Différence des 2 valeurs
Recherches personnelles
Palindrome
{.,1>{(\)@={pal}0if}1if\;}:pal;
"ABBA" pal
donne 1
"ABBCA" pal
donne 0