C#累加和乘积问题,高手来看下

一简单循环语句的使用1、打开VS2005,新建一个语言为C#的控件台应用程序,项目名称为CycleExam1。2、在Main函数中编写代码来完成以下功能:用循环实现能够计... 一 简单循环语句的使用
1、打开VS2005,新建一个语言为C#的控件台应用程序,项目名称为CycleExam1。
2、在Main函数中编写代码来完成以下功能:
用循环实现能够计算用户指定的区间范围内的数阶乘的累加和,即运行程序时,要求用户输入要计算的起点和终点,这时如果用户输入10和20,则程序计算10到20之前的累加和乘积,即10!+ 11! + ... + 20!
3、生成并测试程序,可以使用快捷键Ctrl+F5快速生成并运行应用程序。
展开
 我来答
尚香甜
2009-05-25 · 超过13用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:0
展开全部
long result1=0;//总的和

for(int j=10;j<=20;j++)
{ int result=1;//单项阶乘的和,这个变量位置的定义很重要,如果你放到循环外,那么你得到的结果就会超出正常范围,因为到时候result会越来越大,所以你一定要给它重新定义在每一次计算单项阶乘和的时候。
for(int i=1;i<=j;i++)
{
result=result*i;
}
result1+=result1;
}
Console.wrtiteline(result1);
不过兄弟你不会是在考验我吧,10的阶乘就是一个大约3600W的数,到20也就是3600万的10次方,再把他们加起来,我用什么数据类型能盛下这个数,int肯定是不行的,long也不一定能装下,确切用什么我也部知道。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
呼星腾7N
2009-05-25 · TA获得超过1986个赞
知道小有建树答主
回答量:1988
采纳率:0%
帮助的人:1188万
展开全部
恩.占个位置.

马上写给你.
using System;
using System.Collections.Generic;
using System.Text;

namespace CycleExam1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入起点:");
int value1 = Int32.Parse(Console.ReadLine());
Console.WriteLine("请输入终点:");
int value2 = Int32.Parse(Console.ReadLine());
Cycle(value1, value2);
}
public static void Cycle(int num1,int num2)
{
long result = 1, count = num2 - num1+1, over=0;
for (int i = 0; i < count; i++)
{
for (num1 = 1; num1 < num2; num1++)
{
result = result * (num1 + 1);
}
over += result;
result = 1;
num2--;
}
Console.WriteLine(over);
Console.ReadLine();
}
}
}

通过测试..

楼上的好像错了吧..
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
3306263wb
2009-05-25 · TA获得超过619个赞
知道小有建树答主
回答量:487
采纳率:0%
帮助的人:305万
展开全部
using System;

namespace Sample
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入起点:");
int value1 = Int32.Parse(Console.ReadLine());
Console.WriteLine("请输入终点:");
int value2 = Int32.Parse(Console.ReadLine());

long resAdd = 0,resMul = 1;

for (int i = value1; i <= value2; ++i)
{
for (int j = i; j > 0; j--)
{
resMul *= j;
}
resAdd += resMul;
resMul = 1;
}
Console.WriteLine(resAdd);
}
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f43968375
2009-05-25 · TA获得超过434个赞
知道小有建树答主
回答量:591
采纳率:0%
帮助的人:520万
展开全部
static void Main(string[] args)
{
Console.Write("Min:");
int min = int.Parse(Console.ReadLine());
Console.Write("Max:");
int max = int.Parse(Console.ReadLine());
int res = 0;
for (int i = min; i <= max; i++)
{
res += gg(i);
}
Console.WriteLine("Result:" + res);
}

static int gg(int intg)
{
return intg == 1 ? intg : intg * gg(intg - 1);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Diobo
2009-05-25 · TA获得超过552个赞
知道小有建树答主
回答量:373
采纳率:0%
帮助的人:464万
展开全部
这个,用循环的嵌套就好呀,连个for嵌套一下就好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式