写一个函数返回1+2+3+…+n的值(假定结果不会超过长整型变量的范围)

原创 2011年01月15日 21:05:00

程序如下:#include<stdio.h>
int Sum(int n)
{
  return ((long)1+n)*n/2;//或者return (1l+n)*n/2;
}
main()
{   
  int n;
     scanf("%d",&n);
     printf("1到%d的和是:%d/n",n,Sum(n));
}
   写成这样子,而不写成下面用for循环来实现1到n的求和,是因为上面这个程序的执行效率高。对于下面的解答,不管怎么去优化去优,其效率也不可能与直接return ( 1 l + n ) * n / 2相比!

 
int Sum( int n )
{
 long sum = 0;
 for( int i=1; i<=n; i++ )
 {
  sum += i;
 }
 return sum;
}

相关文章推荐

练习2-6 编写一个函数setbits(x, p ,n, y),该函数返回对x执行下列操作后的结果值: 将x中从第p位开始的n个(二进制)位设置为y中最右边n位的值,x的其余各位保持不变。

练习2-7 编写一个函数setbits(x, p ,n, y),该函数返回对x执行下列操作后的结果值: 将x中从第p位开始的n个(二进制)位设置为y中最右边n位的值,x的其余各位保持不变。 参考代码如...
  • taolusi
  • taolusi
  • 2016年09月01日 16:28
  • 1498

python---函数(返回整型最大/最小值、返回字符串最长的串、函数返回任意的module的帮助文档内容、读取目录下内容、)

python—函数(返回整型最大/最小值、返回字符串最长的串、) 习题:1.定义一个方法 func,该func可以引入任意多的整型参数,结果返回其中最大与最小的值。使用元组的求解最大值/最小值的函数...
  • xwbk12
  • xwbk12
  • 2017年11月04日 15:34
  • 115

Chapter 3 | Stacks and Queues--实现一个函数返回栈中的最小值,时间复杂度为O(1)

3.2  How would you design a stack which, in addition to push and pop,also has a function min which r...

练习 2-8 编写一个函数rightrot(x, n),该函数返回将x循环右移(即从最右端移出的位将从最左端移入)n(二进制)位后所得到的值。

这个题目呢,首先需要确定数据类型,在这里我选择的数据类型是unsigned类型,具体实现方法很简单,先得到unsigned类型数据的长度len,然后将x的后n位提取出来,左移len-n位得到end,然...

练习2-8 编写一个函数rightrot(x, n),该函数返回将x循环右移(即从最右端移出的位将从最左端再移入)n(二进制)位后所得到的值。

对于这个问题,有两种思路,照旧,一种是我自己能想出来的方法,另一种是书上答案给出的方法。两种方法采用了两种不同的思路。 第一种方法,也就是我自己能想出来的方法,既然x循环右移n位,那就先得到最右边n位...
  • taolusi
  • taolusi
  • 2016年09月07日 22:20
  • 1056

.写一个函数返回二进制参数值为1的个数

写一个函数返回二进制参数值为1的个数 例如:15    0000 1111     返回4个1 程序原型:int count one bits(unsigned int value) { //...
  • kai8wei
  • kai8wei
  • 2014年12月27日 16:33
  • 398

exit和_exit 进程终止有5种方法: 1正常终止 (1)从main函数返回 (2)调用exit (3)调用_exit 2异常终止 (1)调用abort (2)由一个信号来终止 exi

四个函数的声明分别是:         void* realloc(void* ptr, unsigned newsize);         void* malloc(unsigned size...

整型数组处理算法(八)插入(+、-、空格)完成的等式:1 2 3 4 5 6 7 8 9=N[华为面试题]

有一个未完成的等式:1 2 3 4 5 6 7 8 9=N 当给出整数N的具体值后,请你在2,3,4,5,6,7,8,9这8个数字的每一个前面,或插入运算符号“+”,或插入一个运算符号“-”,或不插入...

整型数组处理算法(八)插入(+、-、空格)完成的等式:1 2 3 4 5 6 7 8 9=N[华为面试题]

http://blog.csdn.net/wujunokay/article/details/12176817

写一个函数返回参数二进制数中1的个数的几种方法

方法一: 首先,简单思路为:给该整数模2除2我们就能得到该数2进制的每一位 用9举例,9的二进制数为1001   (9%2=1,(9/2)%2=0, (9/2/2)%2=0, (9/2/2/2)%...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:写一个函数返回1+2+3+…+n的值(假定结果不会超过长整型变量的范围)
举报原因:
原因补充:

(最多只允许输入30个字)