Читая тему "Расписание числа на множители" задача ясна, но не спешите бросать готовый код.Мне нужно, чтобы вы указали ошибку в моем коде.
<script>
var number = prompt("Enter number");
var j = 2;
var d = 0;
var counter = 1;
var record = 0;
var a;
var arr = new Array();
document.write(number+" = ");
// здесь мы разделили число на множители и записали в массив arr []
while(j<=number) {
while(number%j==0) {
number = number/j;
arr[d] = j;
d++;
if(number==1) {
break;
}
}
j++;
}
//можно вивести так :
// for(var i = 0; i < arr.length; i++) {
// document.write(arr[i]+" ");
// }
// document.write("<br>");
//-----------------------------------------------------------------
//но это еще не все все числа повторяющихся сделать в квадрате или в кубе, четвертой степени и т. д.
//я ето делаю так
for(var i = 0; i < arr.length; i++) {
while (arr[i]==arr[i+1]) {
counter++;
record = arr[i];
arr.splice(i+1, i+1);
}
if(arr[i] == record) {
document.write(arr[i]+"<sup>"+ counter +"</sup> ");
}else {
document.write(arr[i]+" ");
}
if(i != arr.length-1) {
document.write(" * ");
}
counter = 1;
}
</script>
когда я ввожу число 300,200,20 все хорошо но когда я ввожу число 500 или 1000 в последнем числе не хватает одного степени
есть 500 это 2 * 2 * 5 * 5 * 5 а у меня получается 2 * 2 * 5 * 5
Что за аномалия ?!?!