1+(1+5)+(1+5+8)+……(3*n-1)用Java实现?
1个回答
展开全部
分析表达式规律:
当 n=1 时,表达式为 1 ;
当 n=2 时,表达式为 1+(1+(3*2-1))=1+(1+5) ;
当 n=3 时,表达式为 1+(1+5)+(1+5+(3*2-1))=1+(1+5)+(1+5+8) ;
第一个数为 1 ,从第二数开始,该数为(前一个数+(3*n-1) (n>=2)),然后再累加所有数。
参考代码如下:
public class MathExp {
public static void main(String[] args) {
System.out.println(exp(3));
}
public static int exp(int n){
if(n < 0) return 0;
int res = 0; // 累计总和
int num = 1; // 第一个数为 1 ,从第二个数开始是 num + 3*n-1
for(int i = 1; i <= n; i++){
if(i == 1){
res = num;
}else {
num += 3 * i - 1; // 第 n 个 数
res += num; // 累加第 n 个 数
}
}
return res;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询