7-1 循环嵌套
分数 4
作者 林方圆
单位 广东东软学院
计算s=1+(1+2)+(1+2+3)+……+(1+2+……+n)。
输入格式:
输入在一行中给出n的值。
输出格式:
在输出行显示计算出的结果。
输入样例:
在这里给出一组输入。例如:
20
输出样例:
在这里给出相应的输出。例如:
sum=1540
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
解题思路:
题目要求计算s=1+(1+2)+(1+2+3)+……+(1+2+……+n)。
观察式子,我们可以发现规律,s的值等于上个s的值加上括号内的式子的值,即需要两层循环,一层实现S的累加,一层用以计算括号中式子的值。
即
int s1=0,s2=0; //S1用以存储总和,S2用以存储括号中的计算结果
for(int i=1;i<=m;i++){
for (int j=1;j<=i;j++) {
s2+=j; //计算括号中的式子
}
s1+=s2;
s2=0; //归零
}
代码实现:
import java.util.*;
public class Main{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();
int s1=0,s2=0; //S1用以存储总和,S2用以存储括号中的计算结果
for(int i=1;i<=m;i++){
for (int j=1;j<=i;j++) {
s2+=j; //计算括号中的式子
}
s1+=s2;
s2=0; //归零
}
System.out.println("sum="+s1);
}
}