计算collat​​z猜想的代码没有输出

所以,我看到了 Veritasium 的视频 -> (https://youtu.be/094y1Z2wpJg) 我想尝试将其翻译成代码。 当我运行它时,没有记录任何内容,也没有出现任何错误 这可能是一个非常简单的修复,因为我是一个非常新的程序员所以是的。 如果你能帮忙那就太好了! :)

    var i = document.getElementById("solvebtn");

function solve() {
    while(i > 1) {
        //even
        if(i % 2 == 0) {
            (i / 2)
            console.log(i)
        }
        //odd
        else {
            (i * 3 + 1)
            console.log(i)
        }
    }
}


    /* RULES */
//if odd i * 3 + 1
//if even i / 2
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="x-ua-compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>3X + 1</title>
    <script src="app.js"></script>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <input type="text" placeholder="Number"></input>
    <button id="solvebtn" onclick="solve()">Solve</button>
</body>
</html>

wdjylove 回答:计算collat​​z猜想的代码没有输出

您使用了错误的值,按钮不包含输入值,您需要从输入字段中获取该值。

var i = document.getElementById("solvebtn");

function solve() {
  let value = document.getElementById("val").value;

  while (value > 1) {
    //even
    if (value % 2 == 0) {
      value = value / 2
      console.log(value)
    }
    //odd
    else {
      value = value * 3 + 1
      console.log(value)
    }
  }
}


/* RULES */
//if odd i * 3 + 1
//if even i / 2
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width,initial-scale=1.0">
  <title>3X + 1</title>
  <script src="app.js"></script>
  <link rel="stylesheet" href="style.css">
</head>

<body>
  <input type="text" id="val" placeholder="Number"></input>
  <button id="solvebtn" onclick="solve()">Solve</button>
</body>

</html>

,

您应该在 HTML 代码中将输入类型更改为数字

您可以使用 @taxonomies = Tataxonomy.all

获取输入数字

element.value
const element = document.getElementById("input");


function solve() {
    //this is wat you shold add
    let i =  element.value;

    console.log(i);
    while(i > 1) {
        //even
        console.log("ddd")
        if((i % 2) === 0) {
            (i /= 2)
            console.log(i)
        }
        //odd
        else {
            (i =i*3 + 1)
            console.log(i)
        }
    }
}

本文链接:https://www.f2er.com/208.html

大家都在问