有没有更好的方法来找到位数的乘法和累加?乘法、来找、方法

2023-09-11 22:44:59 作者:野心不减当年

int N = 2345;
        var digitArray = N.ToString().ToCharArray();
        int multiplicationSum = 1;
        foreach (char digit in digitArray)
        {
            multiplicationSum = int.Parse(digit.ToString()) * multiplicationSum;
        }
        var sum = 0;
        var sumArray = multiplicationSum.ToString().ToCharArray();
        foreach (char digit in sumArray)
        {
            sum = int.Parse(digit.ToString()) + sum;
        }

感谢

推荐答案

假设你不需要处理负数,好像做数学会赚很多更有意义

Assuming you don't need to deal with negative numbers, it seems doing it mathematically would make a lot more sense

int N = 2345;
int multiplicationSum = 1;
while(N!=0)
{
  multiplicationSum = multiplicationSum * (N%10);
  N = N/10;
}
var sum = 0;
while(multiplicationSum!=0)
{
  sum = sum + (multiplicationSum%10);
  multiplicationSum = multiplicationSum/10;
}

参考文献:

References:

%运营商

%运算的第一个操作数由第二分割计算后的余

The % operator computes the remainder after dividing its first operand by its second

/运营商:

当你把两个整数,结果始终是一个整数。例如,7/3的结果是2

请一位高中数学老师帮我解答一下累加法与累乘法怎么判断最后相加项的个数,为什么很多题目最后要除以2

When you divide two integers, the result is always an integer. For example, the result of 7 / 3 is 2

 
精彩推荐
图片推荐