题目:
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。要求输入a的值和加数的个数n,例如:a=2,n=5,此时s=2+22+222+2222+22222,输出s的值。
源代码:
package Question5;import java.util.Scanner;public class QiuHe {public static void main(String[] args) {// 创建一个Scanner对象,用于接收用户输入Scanner scanner=new Scanner(System.in);// 提示用户输入累加值a和累加个数nSystem.out.println("例:s=a+aa+aaa+aaaa+aa...a ");System.out.print("请输入累加值a:");int a=scanner.nextInt();System.out.print("请输入累加个数n:");int n=scanner.nextInt();// 初始化累加和sum和临时变量bint sum=0;int b=0;// 使用for循环进行累加for(int i=0;i<n;i++){// 计算当前项的值b=b+a*(int)Math.pow(10,i);// 将当前项的值累加到sum中sum=sum+b;// 判断是否为最后一项,如果不是则输出"+",否则不输出if(i!=n-1){System.out.print(b + " + ");}else{System.out.print(b);}}// 输出累加和sumSystem.out.println(" = "+sum);}
}
算法思路:
- 首先,创建一个Scanner对象,用于接收用户输入的累加值a和累加个数n。
- 然后,使用for循环进行累加。在每次循环中,计算当前项的值,并将其累加到sum中。
- 判断是否为最后一项,如果不是则输出"+",否则不输出。
- 最后,输出累加和sum。