Challenges LabVIEW et documents

Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

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

commencé par Member emmanuel-fr ‎02-28-2017 03:26 AM - modifié ‎04-03-2017 03:27 AM

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 !

Commentaires
Active Participant Michael.C
Active Participant
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.
Member emmanuel-fr
Member

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 heureux

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

Active Participant Michael.C
Active Participant

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

Active Participant Olivier_L
Active Participant

Code envoyé

Member Sebastien_D
Member

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 !

Member emmanuel-fr
Member

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à !!!

Active Participant Michael.C
Active Participant
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.
Member Sebastien_D
Member

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

Member David-K
Member
Code envoyé! Ce challenge était plutôt rapide Smiley très heureux Bonne journée
Member PhilB58
Member

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

Member PhilB58
Member

Code envoyé Smiley tirant la langue

Member joke67000
Member

Bonjour à tous!! Code envoyé 

Member beno72
Member

code envoyé

Member ghost67
Member

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

Member atchuuum
Member
code envoyé
Member vdparter
Member

Code envoyé !

Member FLBPeriat
Member

Code envoyé, avec complexité constante Smiley clignant de l'œil

Member Sebastien_D
Member

Code envoyé !

Member emmanuel-fr
Member

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  
Member LabAJO
Member

Code envoyé Chat très heureux

Member emmanuel-fr
Member

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.

 

Member PhilB58
Member

merci emmanuel pour la publication des codes Smiley clignant de l'œil malheureusement, j'ai du mal à ouvrir certains fichiers Smiley triste
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 Smiley heureux

Member emmanuel-fr
Member

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/

 

Member PhilB58
Member

Merci pour le lien, je vais consulter pour me faire une idée Smiley heureux
Pour ce qui est d'ouvrir les Vi, je place une copie d'écran de ce qui m'arrive Smiley clignant de l'œil

 

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

Member emmanuel-fr
Member

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.

Active Participant Michael.C
Active Participant
Tu as pensé à reprendre l'archive en LV2010 que emmanuel a fourni Smiley très heureux ???
Member PhilB58
Member

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

Member joke67000
Member
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 heureux

Member emmanuel-fr
Member

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 heureux

 

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

 

Member LabAJO
Member

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

Member David-K
Member
Trop cool!! Merci Emmanuel, c'est le genre de bonnes nouvelles qu'on ne peut qu’apprécier Smiley très heureux
Contributeurs