說明:編寫一個稱爲「模數」的函數。給定2個數字,「模數」返回num1除以num2後的餘數。查找餘數不爲模的兩個數字
這是我的代碼到目前爲止。當我在repl.it上運行時,它會給出正確的餘數,但是當我提交程序時,它會進入無限循環,我不知道爲什麼。我認爲for循環中的返回函數會自動退出它。任何幫助將不勝感激,謝謝。基本上我不斷添加number2,直到它達到數字1或比它高。如果它更高,我會減去數字2一次,並找出差異。
function modulo(num1, num2) {
if(num1 === 0) {
return 0;
}
if(num2 === 0) {
return NaN;
}
if(isNaN(num1) === true || isNaN(num2) === true) {
return NaN;
}
var i = 0;
for(i = 0; i <= num1;) {
i += num2;
if(i === num1) {
return 0;
}
else if(i > num1) {
i = i - num2;
console.log(i, num1);
return num1 - i;
}
}
}
var output = modulo(25, 4);
console.log(output);
你是什麼意思 「提交程序」 ? – jswebb
對不起,我正在使用repl.it的JavaScript製作網站。提交使用大量測試,確保您的程序正常工作。所以它會測試負數,0和NaN以確保模數是正確的。 – ameet01
這是什麼網站,如果你不介意我問?這很奇怪,因爲我在控制檯中調用了該函數。此外,請參閱下面的答案,瞭解如何清理代碼的一些快速提示。 :) – jswebb