Misez p'tit Optimisez n°100 : Quand le 0 devient backspace

Ici, on fait dans le petit, le LCD qui déchire sa race, on y cause même calculatrices quand on est en manque !

Modérateur : Politburo

OlidaBel
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 109
Enregistré le : 04 avr. 2021 16:09
Localisation : 50.693165,4.573478

Re: Misez p'tit Optimisez n°100 : Quand le 0 devient backspace

Message par OlidaBel »

Schraf a écrit : 11 mai 2021 20:27 Voici un MPO 100 prétention mais qui 100 bon la difficulté.
Salut tout le monde ,
merci pour la proposition plutôt amusante 8O :) .
J'avais commencé à étudier une solution avec STREAM, par chance j'étais en train de relire les listes dans le manuel papier (ah c'est quand même autre chose que les pdf !). Puis j'ai bloqué ;-) Ta proposition méritait d'être creusée.
J'ai essayé une solution avec juste des nombres en prenant la Mantisse pour extraire les chiffres. Pas de bol, les 0 de queues sont gommés par la MANT...
Bon, retour au bon vieux string en version naïve (et longue) et tout dans la pile.

HP 48 GX

Code : Tout sélectionner

<< "" SWAP ->STR DUP SIZE 
1 SWAP START 
    DUP HEAD SWAP TAIL 3 ROLLD DUP NUM
    IF 48 == THEN 
        DROP DUP SIZE DUP
        IF 0 ==  THEN DROP ELSE 1 SWAP 1 - SUB END
    ELSE +
    END 
    SWAP 
NEXT 
DROP OBJ->
>>
Avatar du membre
bernouilli92
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5270
Enregistré le : 21 nov. 2012 13:03
Localisation : Ile de France

Re: Misez p'tit Optimisez n°100 : Quand le 0 devient backspace

Message par bernouilli92 »

Une version en python 2 utilisant reduce :

Code : Tout sélectionner

def mpo100(n)
  return reduce((lambda x,y:10*x+y if y else x//10), map(int,list(str(n))))
HP, Casio, Sharp, Psion, quelques TI et divers autres
Répondre

Retourner vers « Tous les Pockets »