如何对数字的数字进行平方?
How do I square a number's digits?
如何对数字的数字进行平方?例如:
square(21){};
应该导致 41
而不是 441
您需要将数字拆分为它们的位值,然后对它们进行平方,然后将它们重新连接在一起。以下是我的做法:
function fn(num){
var strArr = num.toString().split('');
var result = '';
for(var i = 0; i < strArr.length; i++){
result += Math.pow(strArr[i], 2) + '';
}
return +result;
}
使用 Math.pow 对这样的数字求平方:
Math.pow(11,2); // returns 121
我认为他的意思如下:
var output = "";
for(int i = 0; i<num.length; i++)
{
output.concat(Math.pow(num[i],2).toString());
}
我相信这就是 OP 想要的?每个数字的平方?
var number = 12354987,
var temp = 0;
for (var i = 0, len = sNumber.length; i < len; i += 1) {
temp = String(number).charAt(i);
output.push(Number(temp) * Number(temp));
}
console.log(output);
这可以通过简单的数学运算轻松完成。不需要字符串处理的开销。
var result = [];
var n = 21;
while (n > 0) {
result.push(n%10 * n%10);
n = Math.floor(n/10);
}
document.body.textContent = result.reverse().join("");
在循环中,当您的数字大于 0 时,它...
使用 %
运算符
得到数字除以 10
的余数
对其求平方并将其添加到数组中。
通过将原始数字除以 10、删除小数点右侧的截断并重新分配来减少原始数字。
然后在最后反转并将数组连接到结果字符串中(如果需要,可以将其转换为数字)
function sq(n){
var nos = (n + '').split('');
var res="";
for(i in nos){
res+= parseInt(nos[i]) * parseInt(nos[i]);
}
return parseInt(res);
}
var result = sq(21);
alert(result)
将字符串拆分为一个数组,return 元素平方的 map
,然后将结果数组重新合并为一个字符串。
function squareEachDigit(str) {
return str.split('').map(function (el) {
return (+el * +el);
}).join('');
}
squareEachDigit('99') // 8181
squareEachDigit('52') // 254
如何对数字的数字进行平方?例如:
square(21){};
应该导致 41
而不是 441
您需要将数字拆分为它们的位值,然后对它们进行平方,然后将它们重新连接在一起。以下是我的做法:
function fn(num){
var strArr = num.toString().split('');
var result = '';
for(var i = 0; i < strArr.length; i++){
result += Math.pow(strArr[i], 2) + '';
}
return +result;
}
使用 Math.pow 对这样的数字求平方:
Math.pow(11,2); // returns 121
我认为他的意思如下:
var output = "";
for(int i = 0; i<num.length; i++)
{
output.concat(Math.pow(num[i],2).toString());
}
我相信这就是 OP 想要的?每个数字的平方?
var number = 12354987,
var temp = 0;
for (var i = 0, len = sNumber.length; i < len; i += 1) {
temp = String(number).charAt(i);
output.push(Number(temp) * Number(temp));
}
console.log(output);
这可以通过简单的数学运算轻松完成。不需要字符串处理的开销。
var result = [];
var n = 21;
while (n > 0) {
result.push(n%10 * n%10);
n = Math.floor(n/10);
}
document.body.textContent = result.reverse().join("");
在循环中,当您的数字大于 0 时,它...
使用
%
运算符 得到数字除以 对其求平方并将其添加到数组中。
通过将原始数字除以 10、删除小数点右侧的截断并重新分配来减少原始数字。
10
的余数
然后在最后反转并将数组连接到结果字符串中(如果需要,可以将其转换为数字)
function sq(n){
var nos = (n + '').split('');
var res="";
for(i in nos){
res+= parseInt(nos[i]) * parseInt(nos[i]);
}
return parseInt(res);
}
var result = sq(21);
alert(result)
将字符串拆分为一个数组,return 元素平方的 map
,然后将结果数组重新合并为一个字符串。
function squareEachDigit(str) {
return str.split('').map(function (el) {
return (+el * +el);
}).join('');
}
squareEachDigit('99') // 8181
squareEachDigit('52') // 254