static int Plus(int n, int m) { int sum=n; for (int i = 1; i <= m; i++) { sum += (n + i); } return sum; }
貌似是小学算术题,直接可以算出来啊 static int Plus(int n, int m) { return n*m+1 + (1+m)*m/2; }
int GetSum(int n,int m) { if(m%2==0) return (n+m)*(m/2); else return (n+m)*(m/2)+m/2+1; }
人家要求用递归算法.static int Sum(int n, int m) { if(m==0) return n; else return n + m + Sum(n,m-1); }
N确定的应用时直接用循环 N不确定应用时用递归int Sum(int m) { if(m<1)return 1; return m+Sum(m-1) }
刚没仔细看题目,修改如下 int Sum(int n,int m) { if(m%2 == 0) return n*(m+1)+(n+m)*(m/2); else return n*(m+1)+(n+m)*(m/2)+m/2+1; } 递归方法:int Sum(int n, int m,int a,int s) { if (a > m) { return s; } else { s += n + a; return Sum(n, m, a + 1, s); } }
int Sum(int n, int m) { if(m==0) return n; else return n + m + Sum(n,m-1); }
应该改成 return n*(m+1)+(1+m)*m/2;
static int Plus(int n, int m) { int sum=n; for (int i = 1; i <= m; i++) { sum += (n + i); } return sum; } 重点帮你写了,其余的自己发奋一下啊,基础的还是自己会啊,比较好
static int QuickPlus(int n, int m) { return (m+1)*n +((1+m)/2)*m; }
{
int sum=n;
for (int i = 1; i <= m; i++)
{
sum += (n + i);
}
return sum;
}
static int Plus(int n, int m)
{
return n*m+1 + (1+m)*m/2;
}
{
if(m%2==0) return (n+m)*(m/2);
else return (n+m)*(m/2)+m/2+1;
}
{
if(m==0)
return n;
else
return n + m + Sum(n,m-1);
}
N不确定应用时用递归int Sum(int m)
{
if(m<1)return 1;
return m+Sum(m-1)
}
int Sum(int n,int m)
{
if(m%2 == 0) return n*(m+1)+(n+m)*(m/2);
else return n*(m+1)+(n+m)*(m/2)+m/2+1;
}
递归方法:int Sum(int n, int m,int a,int s)
{
if (a > m)
{
return s;
}
else
{
s += n + a;
return Sum(n, m, a + 1, s);
}
}
int Sum(int n, int m)
{
if(m==0)
return n;
else
return n + m + Sum(n,m-1);
}
应该改成
return n*(m+1)+(1+m)*m/2;
{
int sum=n;
for (int i = 1; i <= m; i++)
{
sum += (n + i);
}
return sum;
}
重点帮你写了,其余的自己发奋一下啊,基础的还是自己会啊,比较好
{
return (m+1)*n +((1+m)/2)*m;
}
改一下,因为题中多了一个N这样int Sum(int n,int m)
{
if(m<1)return 1;
return n+m+Sum(n,m-1);
}
N也是可以"提出来的"就是把上面式子的结果计算出来再乘以+m*n即可.
{
if(m==0)
return n;
else
return n + m + Sum(n,m-1);
}