Мне нужна помощь в завершении этой простой программы.Какие функции я использовал бы для завершения моей программы? Для петли и что еще?
Программа должна запрашивать у пользователя для базового числа и ряда факторов, и, при нажатии кнопки, программа должна отображать факторы, которые не имеют никакого остатка.
Вот пример:
First Factors Game
Base Number: ___ (user enters 100)
Number of Factors: ___ (user enters 3)
[Display Factors!] (user clicks button)
Results:
The first 3 factors of 100
are 1, 2, and 4.
В приведенной выше программе, отображается 1, отображается 2, число 3 НЕ отображается потому, что (100% 3 == 0!), И 4, отображается. Он останавливается там, потому что пользователь вводил только 3 в число факторов.
Итак! Вот мой HTML:
<!DOCTYPE html>
<html>
<head>
<title>Audition</title>
</head>
<body>
<h3>First Factors</h3>
<div id="container">
<label>Base Number: </label>
<input id="baseNumber" type="text">
<br>
<label>Number of Factors: </label>
<input id="numberOfFactors" type="text">
<br>
<button onClick="displayFactors">Display Factors</button>
</div>
<div id="results">
<p>The first <span id="numberOfFactorsResults"></span> factors
of <span id="baseNumberResults"></span> are </p>
</div>
</body>
</html>
А вот мой JavaScript:
function displayFactors() {
run();
}
function run(){
var x = parseInt(document.getElementById("baseNumber").value);
var y = parseInt(document.getElementById("numberOfFactors").value);
document.getElementById("baseNumberResults") = x;
document.getElementById("numberOfFactorsResults") = y;
/** So, we want to take the base number (entered by the user), divide
that base number by numbers leading up to the base number,
but only print the first such-and-such factors (number provided by
the user) with a remainder of 0. **/
Это где я озадачен. Я уверен, что мне нужно будет использовать for-loop с некоторыми вложенными операторами switch, и я знаю, что модуль в какой-то момент вступает в игру, но я не знаю, с чего начать. Какие циклы я бы использовал в этот момент? (Не могли бы вы также объяснить почему?)
Я не прошу вас закончить программу для меня (хотя вы тоже можете). Все, о чем я прошу, - это руководство (обратите внимание: шаги будут замечательными!), Выясняя, как это решить.
Проблема заключается не в том, что «вы не знали, как заполнить часть JavaScript». Проблема в том, что вы не знали, как найти первые * n * факторы, подход к которым будет одинаковым на большинстве языков (по крайней мере, декларативных). Вкратце, это будет цикл от 1 до * m * (на самом деле вам нужно всего лишь прокрутить квадратный корень из * m *) и проверить, является ли каждый номер фактором или нет, что вы, кажется, уже знаете, как делать. Держите подсчет количества найденных факторов и остановитесь, что вы достигли максимума. Мне тяжело видеть, где вы можете застрять. –
Вы правы, что вам понадобится петля. Я не знаю, почему вы думаете, что вам нужны какие-то свиты-заявления - что-то включить? Модуль вступит в игру так, как вы уже описали, проверяя, есть ли 'n% i === 0'. Зачем вам использовать какой-либо другой цикл, который начинается с одного и поднимается до максимально возможного фактора? –