Я застрял с кодом JavaScript, который я использую для решения проблемы, которая гласит:
Основными факторами 13195 являются 5, 7, 13 и 29.
Что является самым большим основным фактором числа 600851475143?
(это не домашняя работа, это онлайн-кодирование / математическая задача)
Итак, я придумал это решение:
<html>
<head>
<script type="text/javascript">
// This function checks whether it's possible to divide the prime number
function al(n){
// k = 13195 is the number that I have to find the prime factor for
var k = 13195;
if (k%n) {
return;
}
else {
document.write(n + ' ');
}
}
</script>
</head>
<body>
<script type="text/javascript">
//a and b are just for counting from the number n to 2 to find the prime numbers
var a = 2;
for (var n = 13194 ; n>a ; n--) {
var b = 2;
//if the found number is divisible, we skip it
while(b<n) {
if (n % b == 0) {
break;
}
else if (b = n - 1){
al(n);
}
b++;
}
}
</script>
</body>
</html>
Теперь к проблеме: выводятся следующие цифры: «2639 1885 1015 455 377 203 145 91 65 35 29 13 7 5». Это не простые числа. Я посмотрел на числа и обнаружил, что число 13195, деленное на 5 (последнее число), дает первое число; 2639; 13195, деленное на 7, дает 1885; и т.д.
Что именно я делаю не так?