J'essaie d'exécuter un programme qui, lors de la réception d'un entier positif, le divise dans ses chiffres séparés comme. Le nombre est de 652, la sortie est 2, 5, 6. Il est supposé qu'il n'y a pas de tableaux et je ne peux pas faire le numéro de chaîne. J'ai écrit la plupart du code mais il manque quelque chose que je ne peux pas comprendre. Le problème est vraiment que je ne sais pas comment stocker les chiffres pour être émis pendant les itérations. Apprécierait toute aide. J'utilise une boucle tandis que la boucle peut être utilisée aussi.
function problem_09() { var outputObj=document.getElementById("output"); var a = parseInt(prompt("Please enter a number: ", "")); var i = 0; var digits = ; outputObj.innerHTML="number: "+a+"<br><br>its digits: "; while (a>0) { digits[i]= a%10; a = Math.floor(a/10); i++; } outputObj.innerHTML=digits; outputObj.innerHTML=outputObj.innerHTML+"<br><br>"+"program ended"; document.getElementsByTagName("button")[0].setAttribute("disabled","true"); }
3 Réponses :
Vous pouvez prendre une valeur de place et multiplier par 10 pour chaque itération.
function getDigits(value) { var place = 1; while (value >= place) { console.log(Math.floor(value / place) % 10); place *= 10; } } getDigits(652); getDigits(100);
Ensuite, juste pour remplacer la question ne donne pas vraiment sens. Sans tableaux, mais il s'attend vraiment à ce que le résultat soit un tableau ... P> p>
Une solution sans utiliser p> math.floor (...) code>
<div id="output"></div>
Vous avez des erreurs de syntaxe, par exemple:
varix =; code>
@Naruto Abidal Vous voulez un algorithme qui a couvert
652 code> à
[2,5,6] code>?
Oui, je connais l'erreur de syntaxe. Je ne sais tout simplement pas quoi mettre là-bas. Et je veux simplement sortir 2, 5, 6 par exemple, mais il devrait fonctionner pour tout entier positif