package Demo08Lots_Number;
import java.util.Scanner;
public class Lots_Number {
/**
* 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
* 例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
*/
/*
分析:用户要输入两个数,一个是a的值,一个是有n个数相加。
找规律:个数: 1 2 3
a a*10+a a*100+(a*10+a)
每个数都是:前一个数+a*10^(n-1),可以考虑用递归的方法来获取前一个值
*/
public static void main(String[] args) {
System.out.println("该程序用于计算:s=a+aa+aaa+aaaa+...+na的值。");
Scanner sc = new Scanner(System.in);
// 让用户输入a的值
System.out.println("请输入a的值:");
int a = sc.nextInt();
// 让用户输入相加的个数
System.out.println("请输入要相加的个数n: ");
int n = sc.nextInt();
double cons = sums(a,n);
System.out.println(cons);
}
/**
* 后一个数跟前一个数是有关系的,所以定义一个递归方法,来获取前一个数并求和
* @param a
* @param n
* @return
*/
public static double sums(int a,int n){
if(n==1){
return a;
}else{
// 后一个数等于前一个数加a乘10的(n-1)次方,前一个数是sums(a,n-1)
return sums(a,n-1)+sums(a,n-1)+a*Math.pow(10,(n-1));
}
}
}
求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...