C# 加权数字和
我试图找到数字的加权和,例如,如果我有124,我需要使它:1*1+2*2+4*3 到目前为止,我已经能够使用for循环将数字相乘,如下所示:C# 加权数字和,c#,C#,我试图找到数字的加权和,例如,如果我有124,我需要使它:1*1+2*2+4*3 到目前为止,我已经能够使用for循环将数字相乘,如下所示: Console.WriteLine("Input a number"); int num = Convert.ToInt32(Console.ReadLine()); int digit = 0; for (int i = 4; i > 0; i--) { digit = num % 10 * i;
Console.WriteLine("Input a number");
int num = Convert.ToInt32(Console.ReadLine());
int digit = 0;
for (int i = 4; i > 0; i--)
{
digit = num % 10 * i;
num /= 10;
Console.WriteLine(digit);
}
但我不确定如何在后面添加数字。您可以对4位数字执行此操作
Console.WriteLine("Input a number");
int num = Convert.ToInt32(Console.ReadLine());
int sum = 0;
for (int i = 4; i > 0; i--)
{
sum += num % 10 * i;
num /= 10;
}
Console.WriteLine(sum);
但是如果你想让你的代码为任何数字工作,那么就这样做
Console.WriteLine("Input a number");
int num = Convert.ToInt32(Console.ReadLine());
int sum = 0;
for (int i = num.ToString().Length; i > 0; i--)
{
sum += num % 10 * i;
num /= 10;
}
Console.WriteLine(sum);
您可以对4位数字执行此操作
Console.WriteLine("Input a number");
int num = Convert.ToInt32(Console.ReadLine());
int sum = 0;
for (int i = 4; i > 0; i--)
{
sum += num % 10 * i;
num /= 10;
}
Console.WriteLine(sum);
但是如果你想让你的代码为任何数字工作,那么就这样做
Console.WriteLine("Input a number");
int num = Convert.ToInt32(Console.ReadLine());
int sum = 0;
for (int i = num.ToString().Length; i > 0; i--)
{
sum += num % 10 * i;
num /= 10;
}
Console.WriteLine(sum);
你在努力实现这个目标吗
Console.WriteLine("Input a number");
int num = Convert.ToInt32(Console.ReadLine());
int digit = 0;
int i=num.ToString().Length;
int Sum= 0;
int digit2=0;
while(num>0)
{
digit= num%10;
digit2=digit*i;
Sum=Sum+digit2;
num=num/10;
i--;
}
Console.Writeline(Sum);
你在努力实现这个目标吗
Console.WriteLine("Input a number");
int num = Convert.ToInt32(Console.ReadLine());
int digit = 0;
int i=num.ToString().Length;
int Sum= 0;
int digit2=0;
while(num>0)
{
digit= num%10;
digit2=digit*i;
Sum=Sum+digit2;
num=num/10;
i--;
}
Console.Writeline(Sum);
如果您想要简单的解决方案(不是很快),您可以尝试Linq: 结果:
1 * 1 + 2 * 2 + 4 * 3
如果要查找总和,请添加sum
:
int sum = num
.Select((c, i) => (c - '0') * (i + 1))
.Sum();
如果您想要简单的解决方案(不是很快),您可以尝试Linq: 结果:
1 * 1 + 2 * 2 + 4 * 3
如果要查找总和,请添加sum
:
int sum = num
.Select((c, i) => (c - '0') * (i + 1))
.Sum();
你试了什么?你遇到了什么问题。你知道怎么把两个数字相加吗?你知道怎么把循环中的所有数字相加吗?我试了1776。我记下了数字的乘法。我只是不知道怎样把所有的数字加起来。我不确定下一步该做什么。我知道怎么加两个数字。只是不是循环结束后的数字。这是因为你不能。循环完成后,数字就消失了。你需要在循环运行时添加它们。好的,我怎么做?就像我把所有的数字都乘以,但我还是要把它们加起来。我就在那里stuck@nvoigt,我同意你的话并删除了答案;我很感激OP能自己解决这个问题你试过什么?你遇到了什么问题。你知道怎么把两个数字相加吗?你知道怎么把循环中的所有数字相加吗?我试了1776。我记下了数字的乘法。我只是不知道怎样把所有的数字加起来。我不确定下一步该做什么。我知道怎么加两个数字。只是不是循环结束后的数字。这是因为你不能。循环完成后,数字就消失了。你需要在循环运行时添加它们。好的,我怎么做?就像我把所有的数字都乘以,但我还是要把它们加起来。我就在那里stuck@nvoigt,我同意你的话并删除了答案;如果OP能自己解决这个问题,我很感激。例如,4必须乘以3不是1我理解错了,我现在已经更新了我的代码。请不要像那样给人们提供基本的琐事。你在为他们做家庭作业。他们抄袭你的答案,而不是做自己的工作,并在这个过程中学习编程。OP不需要堆栈溢出,他们需要翻转教科书中的一页,做其他人都做的事情。学习。在例子中,4必须乘以3不是1我理解错了,我现在已经更新了代码。请不要像那样给人们提供基本的琐事。你在为他们做家庭作业。他们抄袭你的答案,而不是做自己的工作,并在这个过程中学习编程。OP不需要堆栈溢出,他们需要翻转教科书中的一页,做其他人都做的事情。学习。请不要像那样给人们提供基本的琐事。你在为他们做家庭作业。他们抄袭你的答案,而不是做自己的工作,并在这个过程中学习编程。OP不需要堆栈溢出,他们需要翻转教科书中的一页,做其他人都做的事情。学习。请不要像那样给人们提供基本的琐事。你在为他们做家庭作业。他们抄袭你的答案,而不是做自己的工作,并在这个过程中学习编程。OP不需要堆栈溢出,他们需要翻转教科书中的一页,做其他人都做的事情。研究。这比半小时前的其他答案提供了什么?这比半小时前的其他答案提供了什么?