一个百万富翁与一个陌生人间的换钱计划
一个百万富翁遇到一个陌生人,陌生人找他谈了一个换钱的计划。该计划如下:我每天给你10 万元,你第一天给我1 分钱,第二天2 分钱,
第三天4 分钱……
计算这n天中,陌生人给了富翁多少钱,富翁给了陌生人多少钱.
【输入形式】输入天数n(0<=n<=30)
【输出形式】控制台输出.分行给出这n天中,陌生人所付出的钱和富翁所付出的钱.输出舍弃小数部分,取整.
【样例输入】30
【样例输出】3000000
1073741823
public static void main(String[] args) {
Test test = new Test();
int day = test.day();
double f=0,q=0,a=0.01;
for (int i = 1; i <= day; i++) {
f += 100000; // 富人每天加10万
q += a; // 后面每一天加的是前面的两倍
a = 2*a;
}
System.out.println(day+"天后,富人给了"+f+"元,穷人给了"+q+"元");
}
public int day() {
Scanner input = new Scanner(System.in);
System.out.println("请输入天数");
int day = 0;
try {
day = input.nextInt();
if (day>=0 && day<=30) {
return day;
} else {
System.out.println("必须在0-30天之内");
}
} catch (Exception e) {
System.out.println("请输入数字");
}
return 0;
}
public class Test4 {
public static void main(String[] args) {
money(30);
}
public static void money(int day){
System.out.println(day*100000);
System.out.println(BigDecimal.ONE.add(BigDecimal.ONE).pow(day).subtract(BigDecimal.ONE));
}
}
private static void a1(int n){
long fuhao = n * 100000;
double qigai = 0.0;
double s = 0.01;
for(int i=1;i<=n;i++){
qigai += s;
s = s*2;
}
System.out.println("n = " + n + " , 富豪 = "+ fuhao + " ,乞丐 = " + (long)qigai);
}