2017-11-10

Program:

求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

例如2+22+222+2222+22222

 

代码如下:

 

 1 /*
 2  * 求解形如:a+aa+aaa+aaaa...的表达式
 3  * 
 4  * Date Written:2017-11-10
 5  * 
 6  * */
 7 
 8 package test;
 9 
10 import java.util.Scanner;
11 
12 public class TestDemo {
13     
14     public static void main(String args[]) {
15         
16         /*
17          * 计算形如:a+aa+aaa+aaaa式子的值
18          * 
19          * */
20         
21         int num = 0;        //接收用户输入的a
22         int count = 0;        //接受用户输入的表达式的长度
23         Scanner scan = new Scanner(System.in);
24         
25         System.out.println( "请输入要计算的数字的值:" );
26         num = scan.nextInt();
27         
28         System.out.println( "请输入数字的表达式的长度:" );
29         count = scan.nextInt();
30         
31         getResult(num,count);
32     }
33     
34 
35     public static void getResult(int num,int count) {
36         
37         int sum = 0;              //记录结算结果
38         int num1 = num;            //记录当前的加数的值
39     
40         int i = 0;
41         while( i < count-1 ) {     //计算前count-1个值,这样在计算第count个时输出等于号
42             
43             System.out.print( num1 + "+" );
44             sum += num1;
45             num1 = num + num1*10;
46             i++;
47         }
48         sum += num1;            //前count-1个结果与最后一个加数相加
49         System.out.print( num1 + "=" + sum );        //打印最后一个加数和最后结果
50         
51     }
52     
53 }

 

posted @ 2017-11-10 21:48  空芯菜  阅读(273)  评论(0编辑  收藏  举报