Page 1 of 3

[Mini-Challenge #2] : Génération de nombres "aléatoires"

Unread postPosted: 24 Jun 2014, 11:15
by pierrotdu18
Bonjour !

Je propose le deuxième défi Lua, qui est de créer une fonction sans aucun argument qui renvoie un nombre en base 10 qui appartient à
$mathjax$\mathbb{N}$mathjax$
qui ne doit pas être tout le temps le même, et ce, sans utiliser les fonctions déjà fournies par l'API pour la génération de nombres aléatoires (ni math.eval[Str]).

Faites bien attention à tous les mots du sujet, surtout ceux en gras! :p

Les caractères seront comptés du premier au dernier, espaces et retours à la ligne compris.

Voici un exemple (interdit) de participation, qui fait 121 caractères (oui, c'est beaucoup trop :p) :

Code: Select all
function fonctionInterditeQuiRenvoiePasToujoursLeMemeNombre()
    return tonumber(tostring(math.random()):usub(3,10))
end



EDIT: Pour montrer que la fonction peut sortir des résultats différents, il est interdit d'écrire du code entre les appels de la fonction.

Re: [Mini-Challenge #2] : Génération de nombres aléatoires

Unread postPosted: 24 Jun 2014, 11:18
by Adriweb
( ta fonction peut s'écrire function fonctionInterditeQuiRenvoiePasToujoursLeMemeNombre()return tonumber(tostring(math.random()):usub(3,10))end donc 115 caractères. )

Re: [Mini-Challenge #2] : Génération de nombres aléatoires

Unread postPosted: 24 Jun 2014, 11:19
by pierrotdu18
Mdrr je sais mais ne commence pas à donner des astuces, j'ai fait exprès!! :p

Re: [Mini-Challenge #2] : Génération de nombres aléatoires

Unread postPosted: 24 Jun 2014, 11:25
by Excale
Show/Hide spoilerAfficher/Masquer le spoiler
Code: Select all
function a()return timer.getMilliSecCounter()end

Re: [Mini-Challenge #2] : Génération de nombres aléatoires

Unread postPosted: 24 Jun 2014, 11:25
by pierrotdu18
54 pour moi pour l'instant... :)

Re: [Mini-Challenge #2] : Génération de nombres aléatoires

Unread postPosted: 24 Jun 2014, 11:26
by pierrotdu18
oops

Re: [Mini-Challenge #2] : Génération de nombres aléatoires

Unread postPosted: 24 Jun 2014, 11:27
by Excale
pierrotdu18 wrote:
Excale wrote:
Show/Hide spoilerAfficher/Masquer le spoiler
Code: Select all
function a()return timer.getMilliSecCounter()end


Tu n'as pas lu l'énoncé.

Ce n'est pas une fonction de l'API pour la génèrartion de nombres aléatoires.

Re: [Mini-Challenge #2] : Génération de nombres aléatoires

Unread postPosted: 24 Jun 2014, 11:32
by Adriweb
Excale wrote:
Show/Hide spoilerAfficher/Masquer le spoiler
Code: Select all
function a()return timer.getMilliSecCounter()end

Haha, j'ai mieux :
Show/Hide spoilerAfficher/Masquer le spoiler
a=timer.getMilliSecCounter

U mad bro ?


Mais... je pense qu'il va falloir instaurer que l'on définisse une fonction entièrement et pas une simple copie de fonction comme je viens de faire.
Et seul le nombre de caractères à l'intérieur de la fonction comptera.

Autre chose : il faut que la fonction retourne un nombre différent pour chaque appel à l'intérieur du même script (pas que le résultat soit différent quand on re-set le script seulement...)

OK ? Si oui, je te laisse éditer le post original.

Re: [Mini-Challenge #2] : Génération de nombres "aléatoires"

Unread postPosted: 24 Jun 2014, 11:51
by Adriweb
Pierrot/Excale : en fait, le problème est que pour deux appels successifs, ca renvoit la même chose. Donc effectivement, ce n'est pas bon.

Bref, avec ces règles (cf mon post ci-dessus), j'en ai une en 33 caractères (pour le corps de la fonction) :

function a()return 1e10*collectgarbage"count"end

Re: [Mini-Challenge #2] : Génération de nombres "aléatoires"

Unread postPosted: 24 Jun 2014, 11:51
by Hayleia
L'énoncé n'est pas clair. "Sans utiliser les fonctions déjà fournies par l'API pour la génération de nombres aléatoires" pourrait vouloir dire "sans utiliser les fonctions de l'API dédiées à la génération de nombres aléatoires", auquel cas la participation d'Excale convient, ou "sans utiliser les fonctions de l'API pour les parties de votre code qui correspondent à la génération de nombres aléatoires".