我想用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>发布于 2016-02-28 06:52:19
这里不需要字符串函数。您可以在mod(%操作)的帮助下简单地到达结果。
function sumDigits(number) {
document.querySelector('h1').innerHTML = ((number-1)%9+1);
}发布于 2016-02-28 05:43:28
这样就行了。
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;
}
}发布于 2016-02-28 05:48:31
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;
}https://stackoverflow.com/questions/35679073
复制相似问题