一、题目描述
😒 实现求s = a + aa + aaa + aaaa + aa…a 的值,其中a是一个数字,例如:2 + 22 + 222 + 2222 + 22222(此时共有5个数相加)几个数相加由键盘控制
二、解题思路
以a为例,通过观察题目中给出的式子我们可以发现,除了第一个数之外,其他的数都是 后一个数是前一个数的10倍 + a
,那么只需要 套用公式 a = 10 * a + temp
, 其中 temp 就是第一次输入的a的值,这样就能求出 s 的值
三、代码示例
package com.wk.java;
import org.junit.Test;
import java.util.Scanner;
/**
* @ClassName Sum
* @Description 多数求和
* @Author wk
* @Date 2022/6/4 20:13
* @Version 1.0
*/
public class Sum {
@Test
public void test() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入a的值:");
int a = scanner.nextInt();
System.out.print(a + "\n");
System.out.print("请输入要相加的次数:");
int count = scanner.nextInt();
System.out.print(count + "\n");
// 存储相加的结果
int s = 0;
int temp = a;
for (int i = 0; i < count; i++) {
if(i > 0){
a = 10 * a + temp;
}
s = s + a;
}
System.out.println("s的值为:" + s);
}
}
4、测评结果
🌸 a的值设置为2,并且相加三次
🌸 a的值设置为2,并且相加四次
🌸 a的值设置为2,并且相加五次