首页 > 试题广场 >

百万富翁问题

[编程题]百万富翁问题
  • 热度指数:9392 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
一个百万富翁遇到一个陌生人,陌生人找他谈了一个换钱的计划。该计划如下:我每天给你10 万元,你第一天给我1 分钱,第二天2 分钱,
第三天4 分钱……
这样交换 30 天后,百万富翁交出了多少钱?陌生人交出了多少钱?(注意一个是万元,一个是分)

输入描述:
该题没有输入


输出描述:
输出两个整数,分别代表百万富翁交出的钱和陌生人交出的钱,富翁交出的钱以万元作单位,陌生人交出的钱以分作单位。
import java.util.Scanner;
import java.math.*;
public class Main {
    public static void main(String[] args) {
        System.out.println(30*10+" "+BigInteger.valueOf(2).pow(30).subtract(new BigInteger("1")).toString());

    }
}
编辑于 2024-03-21 17:07:14 回复(0)
public class Main {
    public static void main(String[] args) {
        int j=1;
        int sumM=0;//富翁--万元
        int sumN=0;//陌生人--分 
        for(int i=0;i<30;i++){
            sumM=sumM+10;
            sumN=sumN+j;
            j=j*2;//陌生人每天拿到手的钱数--1 2 4 8...  呈现2的n次方规律
        }
        System.out.println(sumM+" "+sumN);
    }
}


编辑于 2020-04-20 19:30:10 回复(0)
public class Main{
    public static void main(String[] args){
        int  millionaire = 10 * 30;
        int stranger= 1;
        int s = 1;
        for(int  i = 1; i < 30; i ++){
            s  = s * 2;
            stranger += s;
        }
        System.out.print(millionaire + " " + stranger);
    }
} 
发表于 2019-11-25 14:40:04 回复(1)
import java.lang.Math;
public class Main{
    public static void main(String[] args){
        long sumRich=0;
        long sumStranger=0;
        for(int i=1;i<=30;i++){
            sumRich+=10;
            sumStranger=sumStranger+(long)Math.pow(2,i-1);
        }
        System.out.print(sumRich+" "+sumStranger);
    }
}

发表于 2018-08-03 02:32:46 回复(0)

import java.util.Scanner;
public class Main{
public static void main(String args[]){
System.out.print(10*30+" "); System.out.println((int)Math.pow(2,30)-1);
}
}

编辑于 2018-07-19 15:39:38 回复(0)

问题信息

难度:
5条回答 12499浏览

热门推荐

通过挑战的用户

查看代码
百万富翁问题