怎么用C#编 求 1!+2!+3!+4!+5!+6!+7!+8!+9!+10!的和

如题所述

方法1:思路很清晰,但是算法上很多余。
long sum = 0;
for (int i = 1; i <= 10; i++)
{
long z = 1;
int j = i;
while (j > 0)
{
z *= j; j--;
}
sum += z;
}
Console.Write("结果2:" + sum + System.Environment.NewLine);

方法2:算法上有很大优化
long p = 1;
long s = 0;
for (int i = 1; i <= 10; i++)
{
p = p * i;
s = s + p;

}
Console.Write("结果3:" + s + System.Environment.NewLine);
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-12
string strSource="1!+2!+3!+4!+5!+6!+7!+8!+9!+10!";
strSource=strSource.Replace("!","");
string[]strInt=strSource.Split(new char[] {'+'});
for(int i=0;i<)....循环相加strInt中的每一个元素,其他细节我就不说了。本回答被网友采纳
第2个回答  2011-04-12
用递归
这样条理清晰,有不会出错。
第3个回答  2011-04-12
long result = 0;
for(int i = 1; i <= 10; i++)
{
long factor = 1;
for(int j = 1; j <= i; j++)
{
factor *= j;
}
result += factor;
}
return result;

用C#编辑程序,求1~100之间所有奇数的和
int[] num = new int[100]; \/\/创建一个1到100的数组 for (int i = 0; i < 100; ){ num[i] = ++i;} var q = from o in num where o % 2 == 1 select o; \/\/使用linq筛选奇数 int sum = q.Sum(); \/\/使用Sum函数获取奇数和 ...

为什么我用C语言算1+2+3+4+5+6+7+8+9+10……+1000结果却是-23788?
好了,上面说的是short,但是由于您的编译器中int就是指的short (现在一般的int都是4字节了,也就是您编译器中对应的long )。[摘自百度百科] int , C语言,C++,C#,Obj-c等共有的一种数据类型,范围[-2^31 , 2^31 -1] 即 [-2147483648,2147483647]。所以您可以将t的类型改成long,然后输...

用C#语言编写1+2+3+4+………+99+100的和。
新建一个复合工程代码复制进去就可运行 using System;namespace 求和 { class Program { static void Main(){ int sum=0;for(int i=1;i<101;i++){ sum+=i;} Console.WriteLine("1+2+3+4+………+99+100的和是:"+sum);} } } ...

c# 如何实现自动产生1、2、3、4、5、6、7……按顺序的数字??
有更简单的,直接在数据库里面加上自动增长就行了:一般是在需要自动增长的列上加上 identity(1,1), 手动工具是在字段的自动标识里面设置

定义一个数组,共10个元素,分别为{1,2,3,4,5,6,7,8,9,10},计算下标为奇 ...
int sum=0;int[] array={1,2,3,4,5,6,7,8,9,10};for(int i=0;i<10;i++){ if(i%2==1)sum+=array[i];} 上面的是核心代码,结果为sum的值

C#编程 输出 1+2+3+4+5+6+7+n
using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace WindowsApplication1 { public partial class Form1 : Form { public Form1(){ InitializeComponent();} private void button1_Click(object ...

c语言 1到20的阶乘之和
s*=i; \/\/从1开始循环累加相乘 return s;} int main(){ uInt64 s; int i; for(i=1,s=0;i<=N;i++) s+=fact(i); \/\/从第1项开始循环累加每一项的阶乘值 printf("1!+2!+3!+……+20!=%llu\\n",s); return 0;} ...

c#排列所有组合 求高手来直接附上代码 在线等!!!
SB.Length-=1;} } } \/\/CountOfTwoIsRight函数用来判断当前排列的2的个数是否正确 static bool CountOfTwoIsRight(){ char[] chs=new char[6];int c=0;SB.CopyTo(0,chs,0,6);for(int i=0;i<6;i++){ if('2'==chs[i]){ c++;} } return CountOfTwo==c;} static System.Text....

c#计算器c#计算器 怎么才能连加呀 就是1+2 =3 然后就是按等于号后变成5...
是不是每次都加“+”后面得数?1+3=4 然后=7,=10,=13 是的话方法有好几个。定义两个全局变量,一个用于做第一次等于之前记录第二个加数,第二个用于记录是否做过记录,记录过就不在记录,每次加第一个变量就可以了,这样就可以实现连加功能了 ...

s=1+2+4+7+11+16...求前20项和,用c#程序写
最好理解的写法:int i = 1;int sum = 0;for(int count = 0;count<20;count++) \/\/20项{ sum + = i+count; i = i+count;}\/\/输出sum即可 \/\/ (1+0) + (1+1) + (2+2) +(4+3) ...

相似回答