题目
输出形如:s = a + aa + aaa + aaaa + aaaaa
a的个数由键盘输入
例如:输入3 246 = 2+22+222
输入4 2468=2+22+222+2222
Java实现
方法1
利用字符串拼接
public static void example04(){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
StringBuffer sb = new StringBuffer();
int sum = 0;
String num = "";
for (int i = 1; i <= n; i++) {
int k = i;
while (true){
sb.append(2);
num += 2;
k--;
if (k < 1) break;
}
sum += Integer.valueOf(num);
num = "";
sb.append("+");
}
System.out.print(sum+"=");
sb.deleteCharAt(sb.length()-1);
System.out.println(sb);
}
方法2
利用数学规律:后一项 = 前一项*10+2
2
22 = 2*10 + 2
222 = 22*10 + 2
2222 = 222*10 + 2
public static void example04_2(){
Scanner sc = new Scanner(System.in);
int input = sc.nextInt();
int a = 2;
int sum = 0;
StringBuffer sb = new StringBuffer();
for(int i = 0; i < input; i++){
sum = sum + a;
sb.append(a+"+");
a = a*10 + 2;
}
System.out.print(sum+"=");
sb.deleteCharAt(sb.length()-1);
System.out.println(sb);
}