1-2+3-4+5-...一直到n,有几种计算方法,写出思路

解决方案 »

  1.   

    (1-2) + (3-4) + ... + (2n-1 - 2n) = n
    1 + (-2+3) + (-4+5) + ... + (-2n + 2n+1) = n+1
    大概是这个?
    呵呵
      

  2.   


    int sum=0;
    for(int i=1;i++;i<=n){
    if(i%2!=0){
      sum+=i;
    }else{
    sum-=i;
    }
    }
    差不多可以这样吧,我没测试,LZ自己看看!
      

  3.   


    public int function(int n) {
        if(0 == n%2) {
            return n/2;
        }else {
            return (n+1)/2;
        }
    }LZ速度结贴,O(∩_∩)O哈哈~
      

  4.   

    以加到9为例
            int sum=0;
    int n=3;
    for(int i=1;i<=n;i++)
    {
    if(i%2==0)
      {
        sum=sum-i;
      }
      else
      {
       sum=sum+i;
      } }
      

  5.   

    最简单的一种:
    int n=10;
    int sum=0;
    for(int i=1,i<=n,i+=2)
    {
    sum+=i//加上所有正的
    }
    for(int i=2,i<=n,i+=2)
    {
    sum-=i//加上所有负的
    }
    稍微有点难度:
    for(int i=1;i <=n;i++) 

    if(i%2==0) 
      { 
        sum=sum-i; 
      } 
      else 
      { 
      sum=sum+i; 
      } }
      

  6.   


    顶.n = 2 result = -1if(0==n%2){
       return -(n/2)
    }