Javascript happy算法的函数未正确循环
我的快乐算法有问题。该算法接受来自我的html输入框的输入。它将数字平方并相加。如果总和是1,那么数字是快乐的,但如果不是,它会检查之前的所有总和,看看它是否与其中一个相同。如果是这样的话,这个数字是不高兴的。如果两者都不存在,则使用新编号重复该算法Javascript happy算法的函数未正确循环,javascript,algorithm,Javascript,Algorithm,我的快乐算法有问题。该算法接受来自我的html输入框的输入。它将数字平方并相加。如果总和是1,那么数字是快乐的,但如果不是,它会检查之前的所有总和,看看它是否与其中一个相同。如果是这样的话,这个数字是不高兴的。如果两者都不存在,则使用新编号重复该算法 //takes input value and then receives the output function start() { var int = document.getElementById('inp').valu
//takes input value and then receives the output
function start() {
var int = document.getElementById('inp').value;
numbersChecked = [];
var value = happy(int);
console.log(int.toString() + " is " + value);
}
//recurs the funtion it doesn't work with it in the function
function unhappy(n) {
happy(n)
}
//the main function. Takes the value, adds up the squares of their digits and then checks
//to see if it is equal to one (happy) or repeats a numbers (unhappy)
function happy(n) {
n.toString();
//create|reset variables
sum = 0;
//loop through digits in string
for (var i = 0; i < n.length; i++) {
num = parseInt(n[i]);
square = num**2;
sum+=square;
}
//check numbers for repeats or return "Happy"
if (sum == 1) {
return "Happy";
} else {
for (var i = 0; i < numbersChecked.length; i++) {
if (sum == numbersChecked[i]) {
return "Unhappy";
}
}
numbersChecked.push(sum);
console.log(numbersChecked);
unhappy(sum);
}
}
//获取输入值,然后接收输出
函数start(){
var int=document.getElementById('inp').value;
numbersChecked=[];
var值=快乐(int);
log(int.toString()+“是”+值);
}
//递归函数它在函数中不起作用
函数(n){
快乐(n)
}
//主要功能。获取值,将其数字的平方相加,然后进行检查
//看看它是等于一(快乐)还是重复一个数字(不快乐)
函数快乐(n){
n、 toString();
//创建|重置变量
总和=0;
//循环字符串中的数字
对于(变量i=0;i
如果样本输入不正常,请提供样本输入。别担心,我已经修复了。它是关于字符串和整数之间的转换