gpt4 book ai didi

javascript - 在 Javascript 中分解一个数字

转载 作者:行者123 更新时间:2023-11-27 23:56:46 25 4
gpt4 key购买 nike

我在C++和Java中学习了一个数字因式分解算法,现在决定把它“翻译”成JS。这是我的代码:

<!DOCTYPE HTML>
<html>
<head>
<title>Factorization</title>
<script>
function fact(num)
{
var b = 2;
while (num > b){
while(num%b==0){
num/=b;
return b;
}
b++;
if(num==b){
return b;
}
}
}
</script>
</head>

<body>
<form name="f1">
Enter the Number :<input type="number" name="txt1"><br>
<input type="button" value="Factorize" onclick="alert('The answer is ' + fact(txt1.value))">
</form>
</body>
</html>

它有什么问题吗?它只提醒第一个倍数。

P/S C++ 中的一个工作算法是:

#include<iostream>
using namespace std;

int main(){
int a;
cin >> a;
int b=2;
while(a>b){
while(a%b==0){
a/=b;
cout << b << endl;
}
b++;
if(a==b){
cout << b << endl;
}
}
}

最佳答案

如@Blaze Sahlzen 所指出的那样,return 语句退出函数,请考虑构造并返回一个字符串:

function fact(num)
{
let b = 2;
let ans = "\n";
while (num > b){
while(num%b==0){
num/=b;
ans += b + '\n';
}
b++;
if(num==b){
ans += b + '\n';
}
}
return ans;
}

关于javascript - 在 Javascript 中分解一个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42135039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com