Hod*_*dru 9 javascript numbers sum digits
我是新手.
我想制作一个小应用程序,它将计算一个数字的所有数字的总和.
例如,如果我的数字是2568,则应用程序将计算2 + 5 + 6 + 8,其等于21.最后,它将计算21位数的总和,最终结果将为3.
请帮我
Fed*_*cci 28
使用模9算法的这种简单方法怎么样?
function sumDigits(n) {
return (n - 1) % 9 + 1;
}
Run Code Online (Sandbox Code Playgroud)
Nin*_*olz 19
基本上你有两种方法来获得整数的所有部分的总和.
用数值运算
取数字并构建剩下的10并添加.然后将数字除法的整数部分乘以10.继续.
var value = 2568,
sum = 0;
while (value) {
sum += value % 10;
value = Math.floor(value / 10);
}
console.log(sum);Run Code Online (Sandbox Code Playgroud)
使用字符串操作
将数字转换为字符串,拆分字符串并获取包含所有数字的数组,并为每个部分执行reduce并返回总和.
var value = 2568,
sum = value
.toString()
.split('')
.map(Number)
.reduce(function (a, b) {
return a + b;
}, 0);
console.log(sum);Run Code Online (Sandbox Code Playgroud)
要返回值,您需要添加value属性.
rezultat.value = sum;
// ^^^^^^
Run Code Online (Sandbox Code Playgroud)
function sumDigits() {
var value = document.getElementById("thenumber").value,
sum = 0;
while (value) {
sum += value % 10;
value = Math.floor(value / 10);
}
var rezultat = document.getElementById("result");
rezultat.value = sum;
}Run Code Online (Sandbox Code Playgroud)
<input type="text" placeholder="number" id="thenumber"/><br/><br/>
<button onclick="sumDigits()">Calculate</button><br/><br/>
<input type="text" readonly="true" placeholder="the result" id="result"/>Run Code Online (Sandbox Code Playgroud)
\n\n用数学公式:
\n
function sumDigits(n) { \n return (--n % 9) + 1;\n}\nRun Code Online (Sandbox Code Playgroud)\n\n\n没有数学公式:
\n
function sumDigits(n) {\n if (typeof n !== 'string') {\n n = n.toString();\n } \n if (n.length < 2) {\n return parseInt(n);\n }\n\xe2\x80\x8b\n return sumDigits(\n n.split('')\n .reduce((acc, num) => acc += parseInt(num), 0)\n );\n}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
38675 次 |
| 最近记录: |