题目:
求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222
(此时 共有5个数相加),几个数相加由键盘输入n控制。
思路:
0–>2: 0*2+2
2–>22: (0*2+2) *10+2
22–>222: ((0*2+2) *10+2)*10+2
由此可得规律:m = m*10+a
再将每个m累加
实现:
public class MoreNum {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner reader = new Scanner(System.in);
int a = reader.nextInt(); //相加的数
int n = reader.nextInt(); //几个数相加
//方法一:
int m = 0;
int sum = 0;
while(n>0)
{
m = m*10+a;
sum += m;
n--;
}
System.out.println(sum);
//方法二:
// int sum = 0;
// for(int i=1;i<=n;i++)
// {
// for(int k=1;k<=i;k++)
// {
// sum += a*Math.pow(10, k-1);
// }
// }
}
}