繁体   English   中英

数字的总和

[英]sum of digits of a number

我想用JavaScript创建一个程序,它添加一个数字的数字,直到结果中的数字为1。

例:

57 = 5 + 7 = 12 = 1 + 2 = 3.

我做了一个程序,完成了一半的工作。 就这个

<!DOCTYPE html>
<html>

<head>
    <title>Try</title>
    <style type="text/css">

    </style>
</head>

<body>
    <form><input type="text" onkeyup="sumofDigits(this.value)"></input>
    </form>
    <h1></h1>
    <script type="text/javascript">
        function sumofDigits(number) {
            var num = number.toString();
            var sum = 0;

            for (var i = 0; i < num.length; i++) {
                sum += parseInt(num.charAt(i), 10);
            }

            document.querySelector('h1').innerHTML = sum;
        }
    </script>
</body>

</html>

这里不需要字符串函数。 你可以在mod( operation)的帮助下简单地得到结果。

function sumDigits(number) {
      document.querySelector('h1').innerHTML = ((number-1)%9+1);
}

这样做。

function sumDigits(number) {
    var num = number.toString();

    while (num.length != 1) {
        var sum = 0;
        for (var i = 0; i < num.length; i++) {
            sum += parseInt(num.charAt(i), 10);
        }
        num = sum.toString();
        document.querySelector('h1').innerHTML = sum;
    }
}
function sumDigits(number) {
    var str = number.toString();
    var sum = 0;

    for (var i = 0; i < str.length; i++) {
        sum += parseInt(str.charAt(i), 10);
    }

    if (sum > 9)  
        sumDigits(sum);
      else           
        document.querySelector('h1').innerHTML = sum;

}

尝试这个

<script type="text/javascript">
    function sumDigits(number) {
        while( number > 9){
            var num = number.toString();
            var sum = 0;
            for (var i = 0; i < num.length; i++) {
                sum += parseInt(num.charAt(i), 10);
            }
            number = sum;
        }
        document.querySelector('h1').innerHTML = sum;
    }
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM