你的位置:首页 > Java教程

[Java教程]题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。


一、第一种写法

 

package com.pb.demo1;import java.util.Scanner;/** * 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加), * a以及累加数的位数是从键盘接收。 程序分析: * 1、 接收从键盘输入的一个数(数字只能是1-9之间的数) * 2、 接收一个数表示累加数的位数 * 3.例如,输入一个4(累加数的位数),键盘输入a的值是5:s=5+55+555+5555 4.输入一个5:s=a+aa+aaa+aaaa+aaaaa * 第一种写法 */public class Demo2 {  public static void main(String[] args) {      //声明值一个扫描器的变量        Scanner input =new Scanner(System.in);        System.out.println("请输入参与运算的数1-9:");        int n=input.nextInt();        System.out.println("请输入运算的次数:");        int num=input.nextInt();        //定义每次循环的中间变量用来计算每次的数        double nums=0.0;        //最后听总和        double sum=0.0;        for (int i = 0; i < num; i++) {          //每次的数加上N为新的n的值          nums+=n;          //总和          sum+=nums;          //n的值每次增加 一位          n=n*10;          System.out.println("每次的运算的数是:"+nums);        }        System.out.println("最后的总和是:"+sum);  }}

 

二、第二种写法

package com.pb.demo1;import java.util.Scanner;/** * 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加), * a以及累加数的位数是从键盘接收。 程序分析: * 1、 接收从键盘输入的一个数(数字只能是1-9之间的数) * 2、 接收一个数表示累加数的位数 * 3.例如,输入一个4(累加数的位数),键盘输入a的值是5:s=5+55+555+5555 4.输入一个5:s=a+aa+aaa+aaaa+aaaaa * 第二种写法 */public class Demo3 {    public static void main(String[] args) {    //声明值一个扫描器的变量    Scanner input =new Scanner(System.in);    System.out.println("请输入参与运算的数1-9:");    int n=input.nextInt();    System.out.println("请输入运算的次数:");    int num=input.nextInt();    //定义每次循环的中间变量用来计算每次的数    double nums=0.0;    //最后听总和    double sum=0.0;    for (int i = 0; i < num; i++) {      //利用数学的幂函数来计算      nums+=Math.pow(10, i)*n;      sum+=nums;      System.out.println("每次的运算的数是:"+nums);    }    System.out.println("最后的总和是:"+sum);  }}