Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 加权数字和_C# - Fatal编程技术网

C# 加权数字和

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;

我试图找到数字的加权和,例如,如果我有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;
    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不需要堆栈溢出,他们需要翻转教科书中的一页,做其他人都做的事情。研究。这比半小时前的其他答案提供了什么?这比半小时前的其他答案提供了什么?