From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
Le 50eme défi résonne de manière particulière, c'est un nombre presque « complet »
Donc voici un petit défi dont l’énoncé est très simple.
Si on écrit pour un nombre « n » son carré et son cube sur une feuille, alors on pourra dire qu’il est complet si chacun des 10 chiffres de 0 à 9 est écrit au moins un fois.
Par exemple pour la valeur 69, son carré est 4761 et son cube 328509. Nous retrouvons exactement 1 fois chaque chiffre.
Pour 203 nous avons 41209 et 8365427. Il est complet et en plus [2,4] apparaissent 2 fois.
Enfin 356 par exemple n’est pas complet car il manque le 9.
Le défi est d’écrire un programme LabVIEW qui retourne un tableau d’indicateurs numériques avec les 1000 premières valeurs de nombres complets (d’ailleurs quel est le 1000e ?) je vous donne les 3 premiers pour l’exemple :
Un gagnant sera tiré au sort (suivant un jeu de hasard) parmi les bonnes réponses et il gagnera des goodies (tel que décapsuleur, clé USB en forme de cRIO, mini lampe de poche porte clé, tapis de souris LabVIEW, etc…)
Pour participer envoyez simplement votre code LabVIEW (peu importe la version) renommé Ch50_NbComplet_Votre pseudo.vi avant le 1er Mai 2018 sur mon adresse emmanuel.roset@ni.com
Pour vérification des mails et liens avec votre pseudo, pouvez-vous mettre un commentaire sur la communauté lors de l’envoi. Merci.
Envoi des codes à la fin du mois en pièce jointe dans l’énoncé.
Défi complémentaire :
Dernière question subsidiaire pour les plus forts. Existe-t-il un nombre super complet ? (Ça sonne comme une crêpe bretonne je sais ) C'est un nombre du tableau complet qui lui-même contient au moins une fois tous les chiffres de 0 à 5 ? (Sans commencer par 0) si oui, quel est le premier du tableau des nombres complets et son indice ? enfin en combien de temps pouvez-vous le trouver par programmation ? (vous comprendrez vite pourquoi pas de 0 à 9…a moins que vous ne souhaitiez tenter l'aventure)
Bon 50e challenge
Emmanuel
Bonjour à tous,
je ne veux rien dire mais 135 ne me parait pas complet
Pour 135, son carré est 18225 et sont cube est 2460375.
Il manque le 9
C'est en faisant tourner mon Vi que je m'en suis rendu compte, je pensais avoir fait une erreur quelque part
Je trouve 5361 comme millième nombre complet (mais je peux me tromper).
Pour avoir reçu les goodies, ils sont sympa 🙂 mais bon, je laisse ma place pour le tirage 😉
perso, je commence le décompte à 0, c'est peut-être ça la différence???!!??
Encore que je serai étonné qu'il n'y ait pas de nombre complet entre 5361 et 7389!
Je n'ai pas mon Vi ici, je testerai et reverrai ma copie lundi, mais en attendant, 135 n'est pas un nombre complet ou alors j'ai du travail de révision des maths en perspective
Je commence le décompte à zéro également et je retrouve 7389 à l'indice 999 de mon tableau. 5361 ne semble pas être un nombre complet car on ne retrouve pas le chiffre 9 (5361^2 = 28 740 321 et 5361^3 = 154 076 860 881). Attention à la représentation utilisée, 154 076 860 881 est supérieur à la valeur maximale I32 et U32.
Hum, oui, j'avais un doute là dessus quand j'ai fait mon Vi, mais je n'ai pas eu le temps de tester plus que ça et un doute m'a effleuré après que j'aie mis mon premier message ici!
Il semble que mon soucis vienne probablement de là, bien vu 😉
Comme premier nombre super complet contenant les chiffres de 0 à 9 je trouve 1023456789 à l'indice 820536404 (si je n'ai pas fait d'erreur bien sûr). Comme mon code n'est pas optimisé pour la performance ce fût très long! N'essayez pas de construire un tableau jusque là, un tableau de 820 536 405 éléments U64 nécessite plus de 52.5 Go de mémoire!
Bonjour,
De retour sur mon Vi, j'ai épluché mes erreurs et je trouve maintenant 4781 comme 1000ème nombre complet (et 4781 est bien un complet contrairement à 5361 que j'avais pour première proposition).
Dans le doute, j'ai placé deux graphs qui me donnent l'évolution de mes nombres complet ainsi que leurs cubes, on voit que l'évolution est normale, pas de dépassement dû aux valeurs des cubes.
D'ailleurs, j'ai tout mis en U64 🙂
Je m'attaque au super complet
A+
Voilà,
Premier nombre super complet contenant 0 à 5, je trouve 102354 (et c'est bien un nombre complet aussi 😉 )
Je vais essayer 0 à 9 🙂
PS: Dommage qu'on ne puisse pas édité les messages
Bonjour,
Je trouve pareil que toi Phil avec pour millième nombre complet 4781 et pour premier nombre super complet 102354 qui est le 54000ème nombre complet
Pour ce qui est d'un nombre contenant les chiffres de 0 à 9, j'ai lancé le programme et actuellement j'attends ...
oui, j'ai fini et trouve comme Chpere
nombre super complet avec 0 à 5 : 102354 indice : 54000 temps d'exécution : 108ms
nombre super complet avec 0 à 9 : 1023456789 indice : 934841214 temps d'exécution : 1319340ms
Les deux essais ont été fait sans tableau comme l'a précisé ben64, trop volumineux pour le 0 à 9 🙂
Bonjour, pour les nombres complets je trouve également 7389 pour la 1000e valeur.
Par contre, je ne suis peut-être pas doué, mais je ne comprend pas la différence entre les nombres complets et les supers complets. Quelqu'un pourrait-il m'expliquer?
merci d'avance
@ LefTrine,
un nombre super complet, c'est un nombre qui se trouve dans la liste des nombres complets (ceux que tu trouves et que tu stockes dans ton tableau en réponse au challenge) mais qui lui-même est complet si on le prend seul sans son carré et sont cube et qu'il contient les chiffres imposés , 0 à 5 comme Emmanuel propose.
Je ne sais pas si je suis bien clair
@ Atchuuum, nos résultats sont issus de nos algorithmes, ils sont sans doute similaires, mais peut-être pas justes finalement
Faudra attendre un peu pour départager car j'ai beau retourner mon Vi dans tous les sens, je ne vois pas où ça pourrait coincer (mises à par mes pertes dues au départ parce que j'utilisais de I32).
Salut Ben64,
j'ai la série (69,128,144,187,203), et après vérification, 144 et 187 sont bien des nombres complets et ils manquent dans ta série!!
Salut PhilB58,
D’après ce que j'ai compris de l'exercice, 144 n'est pas dans les nombres complets.
144²=20736 et 144³=2985984, il manque le 1 selon moi.
Voir l'exemple donné par Emmanuel: "Par exemple pour la valeur 69, son carré est 4761 et son cube 328509. Nous retrouvons exactement 1 fois chaque chiffre."
Si, 144 est complet, tu retrouves tous les chiffres de 0 à 9, même si ils y sont plusieurs fois (puis dans 144, il y a 1 tout de même ); tu dois tenir compte du nombre de base également, donc 144, 20736 et 2985984 .. dans ces trois nombres tu trouves bien tous les chiffres de 0 à 9.
Si tu voulais chercher les 1000 premiers nombres complets qui n'ont qu'une seule fois 0, 1, 2, 3 ... 9, tu n'en trouverais jamais 1000 et ton Vi tournerait indéfiniment.
Le but est donc de trouver les nombres complets, donc qui contiennent au moins une fois chaque chiffre.
oui mais je ne prend pas 144 dans mon raisonnement, uniquement le carré et le cube.
Dans le cas du nombre 69, il y aurait 2 fois 6 et 2 fois 9 si on prend le nombre de base. "Nous retrouvons exactement 1 fois chaque chiffre."
J'ai exactement la même série que Phil (69 128 144 183 203).
Phil, je pense qu'on s'est trompé.
Il ne faut prendre le chiffre de base mais uniquement le carré et le cube. En relisant l’énoncé c'est clair.
Merci Atchuuum
Ok, j'ai relu l'énoncé, il semble en effet que le nombre ne doit pas être pris en compte!
Désolé pour ceux que j'ai "trompé" ... je me suis trompé aussi tout seul
Après modif de mon Vi, je trouve la série 69, 128, 203, 302, 327, 366, ....
Premiers tests , je n'intègre pas le nombre n dans le test de la présence des chiffres :
nombre super complet avec 0 à 5 : 102354 indice : 36497 , temps d'exécution : 104 à 130 ms
nombre super complet avec 0 à 6 : 1023456 indice : 570757 , temps d'exécution : 1334 ms
nombre super complet avec 0 à 9 : 1023456789 indice : 913637850 , temps d'exécution : 2 330 s
J'ai pas trop cherché à optimiser le code de calcul.
Code envoyé 🙂
J'ai bien les mêmes résultats que tout le monde mais j'ai hâte de voir vos réalisations ainsi que les différentes optimisations !
Codes envoyés
Mêmes résultats après correction de mon erreur de compréhension du challenge
Bonjour,
Code envoyé également
Bonjour
Code envoyé,.. je trouve le 1000ème (7389) en 19 msec (sans rien optimiser). vous avez quoi en benchmark ?
(le 10^6 numéro je le trouve en 5592 msec)
cordialement
nd
Code envoyé.
Pour info puisque ça en intéresse certains
0 à 6 en 912ms
0 à 7 en 10s
0 à 8 en 103s
0 à 9 en 1116s
Mais ça dépend aussi du pc sur lequel tourne LV
Et pour info également, je ne reçois aucune notification non plus!!!
Oula ! j'avais pas vu non plus les 32 messages ! je ne reçois plus non plus les notifications. Je vais regarder pourquoi du coté web.
(je me suis même dit que tout le monde était silencieux pour le 135...)
Du coup pour le 135 de l'exemple, je n'ai pas eu le temps de réagir. C'est en effet une erreur. Il y en a qui suivent. Le 3e chiffre qui suit est celui proposé dans l'énoncé (203). Sinon je confirme que la recherche n'inclus pas le chiffre lui même.
C'est largement faisable en un seul VI. Cela fait juste intervenir des astuces de manipulation de données qui pourront servir à la communauté.
Pour le supercomplet de 0 à 9 c'est une autre histoire à cause des dépassements à moins de se limiter sur moins de chiffres
Juste hors discussion : je reçois bien les notifications que ce soit sur ce topic ou d'autres 😉
J'obtiens des résultats comparables à Didier mais passé 0 à 6 je ne retrouve pas les nombres super complets aux mêmes indices.
nombre super complet avec 0 à 6 : 1023456 indice : 570757 , temps d'exécution : 1450 ms
nombre super complet avec 0 à 7 : 10234567 indice : 7148291 , temps d'exécution : 16 snombre super complet avec 0 à 9 : 1023456789 indice : 820536404 , temps d'exécution : 1666 s
pour info, j'ai les mêmes valeurs de nombres super complets et d'indice que Didier ... à moins que je me sois encore trompé
Salut
J'ai re-écrit le même code en NXG, il me semble un peu plus rapide.
a+
N
Perso et après relecture des messages avec plus d'attention, je trouve tous les mêmes résutats que Ben64!!.
Décidément, trop motivé par le challenge et faute de temps, je lis entre les lignes et des choses m'échappent, faudrait que je fasses attention
Ben pas grand chose 🙂
En fait, au début, je m'étais trompé en prenant le nombre lui-même avec son carré et son cube pour déterminer s'il était Complet, et forcément j'avais tous les Complets comme toi, mais d'autres aussi en plus, et donc pas les mêmes indices non plus forcément.
Puis après correction, j'ai eu le même résultat que toi, mais en voyant ton message "J'obtiens des résultats comparables à Didier mais passé 0 à 6 je ne retrouve pas les nombres super complets aux mêmes indices" et n'ayant pas tout lu (distrait, pas le temps, ... ), j'ai cru qu'il y avait un couac dans mon Vi (ou le tiens) et j'ai donc cherché un moment d'où ça pouvait provenir.
....pour enfin me rendre compte qu je n'ai pas pris le temps de lire correctement ton message et qu'en définitve, nous avions les mêmes réponses.
Donc tout va bien dans nos Vi
Et désolé pour tout ce désordre que j'ai créé
Bonjour,
J'ai vérifié avec notre service web, il est possible que certains ne reçoivent plus de notifications automatiquement depuis quelques jours (comme moi). Il faut juste vérifier que dans le menu Option en haut de page l'abonnement à la page soit bien validé. Sinon il faut aller dans les notifications dans le profil pour vérifier.
code partagé 😉
perso, je viens de vérifier mes abonnements et l'option au sujet, je suis bien abonné ... mais ne reçois rien comme courrier d'avertissement!!!
Pour l'abonnement il faut aller sur la page principale des challenges (https://forums.ni.com/t5/Challenges-LabVIEW-et-documents/tkb-p/8305) et aller dans Options pour s'abonner. Chez moi cela fonctionne
Code envoyé.
Code envoyé !
Code envoyé !
Ah ben oui en effet. Avec les vacances c'est passé un peu de coté. Je viens de publier les réponses.
Pour le gagnant, nous tirerons au sort par le jeu du loto comme d'habitude. Je reviens vers vous pour les modalités et les attributions.