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
When you divide two integers, the result is always an integer. For example, the result of 7 / 3 is 2