题目:
求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和累加个数n
System.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和临时变量b
int 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);
}
}
// 输出累加和sum
System.out.println(" = "+sum);
}
}
算法思路:
- 首先,创建一个Scanner对象,用于接收用户输入的累加值a和累加个数n。
- 然后,使用for循环进行累加。在每次循环中,计算当前项的值,并将其累加到sum中。
- 判断是否为最后一项,如果不是则输出"+",否则不输出。
- 最后,输出累加和sum。