Curriculum and Labs for Engineering Education

cancel
Showing results for 
Search instead for 
Did you mean: 

Challenge mathématique #42 : Retrouver son code secret oublié

Ce mois-ci, nouveauté ! Ce challenge LabVIEW est sponsorisé par le magazine Programmez. Le gagnant remportera un abonnement d'un an à Programmez au format PDF.

http://www.programmez.com/

 

Programmez-1.jpg

 

Voyons comment gagner :

 

Vous souhaitez ouvrir le cadenas de votre précieux casier mais ne vous ne vous rappelez plus du code. Étant donné que vous êtes un codeur astucieux, un moyen de le retrouver est de le recalculer avec un indice qui est indiqué sur le fameux verrou. Par exemple d’y apposer un chiffre au marqueur.

 

Pour dérouter les fraudeurs, on ne va pas forcément choisir de multiplier par 2 ce chiffre car ce serait trop simple. Nous allons plutôt choisir d'additionner tous les nombres qui sont multiples de deux nombres premiers 3 ou 5 et strictement inférieur au nombre indiqué sur le cadenas.

 

Par exemple : si le nombre écrit sur le cadenas est 14 alors « de tête » le code est 45 :

3 + 5 + 6 + 9 + 10 + 12

 

ou autre exemple pour l'indice 19 :

3 + 5 + 6 + 9 + 10 + 12 + 15 + 18 = 78

 

Pour des petites valeurs se sera facile, mais avec un petit code LabVIEW, ce sera plus aisé à retrouver. Je propose de créer un algorithme qui, à partir d’un entier, donne le résultat en sortie. Simple !

 

Envoyez votre code nommé Ch42_cadenas_votre pseudo_ici.vi à emmanuel.roset@ni.com avant le 31 mars. Et postez s’il vous plait sur la communauté un message « code envoyé » pour vérifier ma boite email en cas de non réception.

 

Le gagnant sera tiré au sort (avec un jeu de hasard) parmi les bonnes réponses avec un code fonctionnel.

 

Bon défi !

Comments
Michael.C
Active Participant
Active Participant
on
Bonjour, J'ai réalisé un code, mais j'ai peur d'être passé à côté du sujet. Faut il rendre paramétrable les diviseurs (valeur et nombre ) ? Car sinon mon code est fait en moins de 5 minutes. Bonne journée.
“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
emmanuel-fr
Member
Member
on

Pas de soucis, sur le code il n'y a que deux éléments. L'entrée "indice" et la sortie "code" en commande et indicateur numérique entier. Les nombres 3 et 5 sont fixes dans le code. Cela devrait être faisable en effet, mais cela dépend du niveau de chacun Smiley Happy

L'idée est qu'il y ai de nombreux participants et que tout le monde puisse réfléchir !

Michael.C
Active Participant
Active Participant
on

Ok, ca marche. Alors code envoyé 🙂 Si d'autres personnes veulent/peuvent vérifier d'autres valeurs, pour 69 je trouve 1064 (en espérant que j'ai bon :D)
 Bonne journée.

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
Olivier_L
Active Participant
Active Participant
on

Code envoyé

Olivier L. | Certified LabVIEW Developer


Sebastien_D
Member
Member
on

Bonjour à tous,

Michael C., je ne trouve pas le même résultat ! Voici quelques uns de mes résultats 

Indice | Code

20 | 93

40 | 413

69 | 1214

 

Je ne garantis pas non plus l'exactitude des résultats, j'ai codé ça vite, mais j'ai la correspondance 14 | 45.

Bonne chance !

emmanuel-fr
Member
Member
on

Bonsoir, je viens de recevoir quelques codes avec des résultats différents, je dois donc préciser sur l'énoncé que l'on ajoute pas les valeurs identiques multiples de chaque nombre premier, par exemple 2 fois le 15.  Soit par exemple pour l'indice 19, le résultat attendu est 3 + 5 + 6 + 9 + 10 + 12 + 15 + 18 = 78

Merci d'avoir soulevé l'incomplétude de l'exemple donné au départ.

 

Et dire que le challenge commence normalement le 1 mars... que de rapidité, bravo a tous déjà !!!

Michael.C
Active Participant
Active Participant
on
Bon je viens de vérifier ce matin, et j'ai 14|45, 19|78, 20|78, 40|368, 69|1064. Bonne journée à tous.
“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
Sebastien_D
Member
Member
on

Michael, je valide tes résultats suite à la modification du sujet !

David-K
Member
Member
on
Code envoyé! Ce challenge était plutôt rapide :D Bonne journée
PhilB58
Active Participant
Active Participant
on

Houlà, il a du succès ce challenge Smiley Happy voilà que j'arrive seulement dans la place, pas trop le temps ces moments-ci Smiley Sad

PhilB58
Active Participant
Active Participant
on

Code envoyé Smiley Tongue

joke67000
Member
Member
on

Bonjour à tous!! Code envoyé 

beno72
Member
Member
on

code envoyé

ghost67
Member
Member
on

code envoyé 🙂 c'est bizarre çà parait simple j'ai du me tromper quelque part.

atchuuum
Member
Member
on
code envoyé
vdparter
Member
Member
on

Code envoyé !

FLBPeriat
Member
Member
on

Code envoyé, avec complexité constante 😉

Sebastien_D
Member
Member
on

Code envoyé !

emmanuel-fr
Member
Member
on

Voici le status à ce jour, juste pour vérifier que tout ce que j'ai reçu est bien dans le tableau. S'il manque quelqu'un, dites le moi. Le challenge continue.

 

1 CH42_cadennas_yopYyop_ici.vi  
2 Ch42_Cadenas_OlivierL.vi  
3 Ch42_cadenas_MichaelC  
4 CH42_hallenge42_David-K.vi  
5 Ch42_cadenas_PhilB58  
6 Ch42_cadenas_AllanB54.vi  
7 Ch42_cadenas_joke67000  
8 Ch42_cadenas_beno72.vi  
9 Ch42_cadenas_FLBP    
10 Ch42_cadenas_atchuuum.vi  
11 Ch42_cadenas_ghost67  
12 Ch42_cadenas_vdparter  
13  CH42_Sebastien_D.zip  
LabAJO
Member
Member
on

Code envoyé Cat Very Happy

emmanuel-fr
Member
Member
on

Bonjour,

Il est temps de publier les codes et effectuer le tirage au sort pour gagner l'abonnement au magazine Programmez.

 

Juste pouvez vous vérifier si votre nom et code est bien dans la liste et nous ferons un tirage au sort en suivant le loto de fdj de mercredi soir. Chacun aura 3 boules en fonction de son numéro attribué. 1 = 1,2,3 ; 2 = 4,5,6 ; 3 = 7,8,9... 14 = 40,41,42.

Si la première boule qui tombe est entre 43 et 49, alors on attend la deuxième boule etc...

 

Numéro Nom et Code   Vérification
         
1 CH42_cadennas_yopYyop_ici.vi ok
2 Ch42_Cadenas_OlivierL.vi ok
3 Ch42_cadenas_MichaelC ok
4 Challenge42_David-K.vi ok
5 Ch42_cadenas_PhilB58 ok
6 Ch42_cadenas_AllanB54.vi ok
7 Ch42_cadenas_joke67000 ok
8 Ch42_cadenas_beno72.vi ok
9 Ch42_cadenas_FLBP   ok
10 Ch42_cadenas_atchuuum.vi ok
11 Ch42_cadenas_ghost67 ok
12 Ch42_cadenas_vdparter ok
13 CH42_Sebastien_D.zip ok
14 Ch42_cadenas_LabAJO.vi

ok

 

Je publie les codes, vous aller constater qu'il n'y a pas deux fois des méthodes identiques et que certains ont vraiment des optimisations plutôt efficaces a réutiliser. Le code de Joke 67000 a même une interface sympathique.

 

Merci de votre participation a tous, les défis continuent.

 

PhilB58
Active Participant
Active Participant
on

merci emmanuel pour la publication des codes 😉 malheureusement, j'ai du mal à ouvrir certains fichiers 😞
J'avais une question à ce propos: je suis toujours en LV 2014, surtout par commodité, plusieurs de mes machines fonctionnent avec RTE2014 avec des applis compilées pour cette version. Je continue en parallèle à faire évoluer les applications pour ces machines, alors je reste sur LV2014 pour m'éviter de tout recompiler et installer partout le RTE2016, ma charge de travail étant conséquente, j'évite d'en rajouter.

Y a-t-il un intérêt notoire de passer en LV2016, sachant que ça va me coûter pas mal de temps??
Merci de votre avis.

 

PS: j'aurais peut-être dû poser la question sur le forum de la communauté, mais je n'ai que rarement le problème de lecture de Vi récents, je l'ai surtout ici, dans les challenges 🙂

emmanuel-fr
Member
Member
on

J'ai tout compilé en LabVIEW 2010 pour que cela soit ouvrable par le plus grand nombre (a tester quand même).  Par contre certains codes ont une interface qui sera un peu plus épurée car il est sorti des ajouts graphiques depuis.

 

Pour la mise a jour, bonne question PhilB58. En fait cela dépend des besoins. Il n'est pas nécessaire de se mettre à niveau à chaque fois, loin de là. Sauf si vous êtes intégrateur et que vous devez fournir un code récent pour les utilisateurs finaux.

Voici un lien qui permet de savoir si cela vaut le coup ou pas en fonction du LabVIEW de départ :

http://www.ni.com/white-paper/52231/fr/

 

PhilB58
Active Participant
Active Participant
on

Merci pour le lien, je vais consulter pour me faire une idée 🙂
Pour ce qui est d'ouvrir les Vi, je place une copie d'écran de ce qui m'arrive 😉

 

version LV.jpg
Je ne sais pas si c'est compilé en LV2010, mais là, ça m'annonce LV2015 🙂 alors j'ai un peu de mal 🙂

emmanuel-fr
Member
Member
on

Oui oui, j'ai ajouté un deuxième Zip en pièce jointe ce matin dans l'énoncé, recompilés en version antérieure 2010. Cela permet d'ouvrir un plus grand nombre.

Michael.C
Active Participant
Active Participant
on
Tu as pensé à reprendre l'archive en LV2010 que emmanuel a fourni 😄 ???
“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
PhilB58
Active Participant
Active Participant
on

ben c'est malin ça, si Emmanuel commence à me jouer des tours 🙂

joke67000
Member
Member
on
1 CH42_cadennas_yopYyop_ici.vi 1  2 3
2 Ch42_Cadenas_OlivierL.vi 4 5 6
3 Ch42_cadenas_MichaelC 7 8 9
4 Challenge42_David-K.vi 10 11 12
5 Ch42_cadenas_PhilB58 13 14 15
6 Ch42_cadenas_AllanB54.vi 16 17 18
7 Ch42_cadenas_joke67000 19 20 21
8 Ch42_cadenas_beno72.vi 22 23 24
9 Ch42_cadenas_FLBP   25 26 27
10 Ch42_cadenas_atchuuum.vi 28 29 30
11 Ch42_cadenas_ghost67 31 32 33
12 Ch42_cadenas_vdparter 34 35 36
13 CH42_Sebastien_D.zip 37 38 39
14 Ch42_cadenas_LabAJO.vi

40 41 42

 

Bonjour à tous

Comme j'ai du compter sur mes doigts, je partage les numéros attribués en fonction des rangs.Smiley Happy

emmanuel-fr
Member
Member
on

Bonjour,

Voici le résultat du loto d'hier soir

MERCREDI 05/04/2017   10 40 42 20

6

 

 

 

La première boule a être tombée est la 10 donc notre gagnant ce mois-ci est "David-K" !!!!! Smiley Happy

 

Bravo à tous aussi et merci pour tous vos codes ce qui permet de partager les bonnes pratiques et cultiver les différences de programmation (et astuces). RDV au prochain défi et peut être que vous serez alors tiré au sort, si votre programme fonctionne !

 

A bientôt

Emmanuel

 

LabAJO
Member
Member
on

Félicitations David-K! C'est dommage, les deux boules d'après étaient pour moi, j'aurais du jouer au loto Smiley Happy

David-K
Member
Member
on
Trop cool!! Merci Emmanuel, c'est le genre de bonnes nouvelles qu'on ne peut qu’apprécier 😄
Contributors