求Sum的值算法(Sum=1+2-3+4-5+6-7+8........to n)

kbs_1983 2006-09-10 10:07:00
Sum=1+2-3+4-5+6-7+8........to n
求Sum的值算法
...全文
1238 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ivony 2006-09-12
  • 打赏
  • 举报
回复
比短吗?

static void Main()
{
int n = int.Parse(Console.ReadLine());
Console.WriteLine( 2 - n / 2 + n - n * (n & 1));
}
wzq6511 2006-09-11
  • 打赏
  • 举报
回复
private int sum(int n)
{
int sum=1;
for(int i=2;i<=n;i++)
{
if((i%2)==1)
{
sum-=i;
}
else if(i%2==0)
{
sum+=i;
}
}
return sum;
}
淡蓝色2 2006-09-11
  • 打赏
  • 举报
回复
看我的,最简短的代码:

static void Main() {
int n = Convert.ToInt32(Console.ReadLine());
int sum = ((n & 1) == 1 ? 3 - n : n + 4) / 2;
Console.WriteLine(sum.ToString());
}
Ivony 2006-09-11
  • 打赏
  • 举报
回复
我记得初中就学过高斯定理-等差数列求和公式。莫非搂主……
kbs_1983 2006-09-11
  • 打赏
  • 举报
回复
学过,忘记了!呵呵
kbs_1983 2006-09-11
  • 打赏
  • 举报
回复
Ivony

谢谢,您的方法很好,说到了本质!
Ivony 2006-09-11
  • 打赏
  • 举报
回复
Sum=1+2-3+4-5+6-7+8........to n
Sum=1+(2-3)+(4-5)+(6-7)+8........to n
Sum= 1 - 1 - 1 - 1 + 8

很显然,如n为偶数,Sum = 1 - ( n / 2 - 1 ) + n;
如n为奇数,Sum = 1 - ( (n - 1) / 2 - 1 );
threemonths 2006-09-10
  • 打赏
  • 举报
回复
public int count(int n)
{
int count = 0;
if(n%2==0 && n>0)
{
count = (4+n)/2;
}
else if(n%2==1 && n>0)
{
count = (3-n)/2;
}
else
{
}
return count

}
kbs_1983 2006-09-10
  • 打赏
  • 举报
回复
补充一下,这个是需要写一个控制台程序,接受用户输入的N值,然后算出
Sum=1+2-3+4-5+6-7+8........to n的值
输出Sum
kbs_1983 2006-09-10
  • 打赏
  • 举报
回复
int a(int n)
{
if(n==1) return 1;
else reuturn (1+n)*n/2;
}

明显没看清楚题目,如果N=3,SUM=0,如上算法,SUM=6
ohappy 2006-09-10
  • 打赏
  • 举报
回复
int a(int n)
{
if(n==1) return 1;
else reuturn (1+n)*n/2;
}
yizhixiaozhu 2006-09-10
  • 打赏
  • 举报
回复
int count(int n)
{
if(n <= 0)
return 0;
if(n%2 == 0)
return 1 - (n/2 - 1) + n;
else
return 1 - (n-1)/2;
}
kbs_1983 2006-09-10
  • 打赏
  • 举报
回复
是,N的值是接收用户输入的值
lizhizhe2000 2006-09-10
  • 打赏
  • 举报
回复
n 的值 可是无限估量的呀!
kbs_1983 2006-09-10
  • 打赏
  • 举报
回复
怎么语法错了?
kbs_1983 2006-09-10
  • 打赏
  • 举报
回复
好像不对,语法有问题
copico 2006-09-10
  • 打赏
  • 举报
回复
int a(int n)
{
if(n==1) return 1;
else reuturn n*a(n-1)
}
源码下载地址: https://pan.quark.cn/s/25f2ee1914c3 ### SQL日期格式化指南#### 一、引言在数据库管理过程中,经常需要将存储的日期数据按照特定的格式进行展示或处理。SQL Server平台内置了`CONVERT`函数,该函数能够支持将日期数据转换成用户指定的字符串格式。通过设定不同的样式参数(style),可以生成多样化的日期时间字符串表现形式。#### 二、日期格式化规范在SQL Server数据库系统中,`CONVERT`函数允许传入一个整数作为参数,用以定义日期格式化的具体样式。以下列举了部分常用的样式规范及其对应的日期时间格式展示:1. **样式 0**:`MMDDYYhhmmSS`(例如:`0516200610:57AM`) - 此种格式用于同时呈现月份、日份、两位数的年份、12小时制的小时数、分钟数以及秒数。2. **样式 1**:`MM/DD/YY`(例如:`05/16/06`) - 该格式展示月份、日份以及两位数的年份。3. **样式 2**:`DD.MM.YY`(例如:`06.05.16`) - 此格式用于显示日份、月份和两位数的年份。4. **样式 3**:`DD/MM/YY`(例如:`16/05/06`) - 与样式 3 类似,同样是日份、月份和两位数的年份,但使用斜杠作为分隔符。5. **样式 4**:`DD.MM.YY`(例如:`16.05.06`) - 此格式与样式 2 相同。6. **样式 5**:`DD-MM-YY`(例如:`16-05-06`) - 采用短横线作为日期各部分之间的分隔标记。7. **样式 6**:`DDMMYY`(例如:`160506`) - 此格式不包含任何分隔符的...

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧