一个百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,该项计划如下:我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给你十万元,你给我二分钱,第三天我仍给你十万元,你给我四分钱,…,你每天给我的钱是前一天的两倍,直到满一个月(30 天),百万富翁很高兴,欣然接受了这个契约。请编写一个程序计算如下问题:1、这一个月中陌生人给了百万富翁多少钱,百万富翁给陌生人多少钱。2、从第几天开始,百万富翁开始每天需要付出比收入更多的钱?3、从第几天开始,百万富翁在这项计划中开始总收入少于总支出?
我需要核心代码,刚开始学这个,好像是用VS
我需要核心代码,刚开始学这个,好像是用VS
解决方案 »
- StateObject类如何使用?
- 数据同步问题
- 接口对象要引用一个实现了该接口所有成员的类的实例才能在程序中使用接口对象。那么,为什么不直接用这个类的实例对象,而要用其接口对象呢?
- 框架页面提交问题,c#无法实现嘛?
- 反射问题: 怎么样动态生成一个枚举值Type.InvokeMember方法根本不能实例一个枚举请高手赐教
- 华东理工的编程人进来!群6213544!方便交流!~有意者加入啊!
- C#中使用TTS语言的问题。
- ado.net完成help类的定义,需要写些什么功能,怎么写?
- 这么简单一个问题我居然还是不会!请教!
- 如何将*.jpg的图片剪切后在imageBox里显示?
- 求助sharppcap获取数据乱码问题
- c#vs2015点击一个按钮弹出另一个对话框?
y=1
x+=x
y+=y*2至于那个界面其实无所谓,你用html摆个表单都行。
富翁:0.01*2^(n-1)
陌生人:100000
累计付出
富翁:0.01*2^n-0.01
陌生人:100000*n自己列不等式解下吧……
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入陌生人每天给富翁的钱:");
int StrangerMoney = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入富翁每天给陌生人的钱:(注意请统一单位为分)");
int RichmanMoney = Convert.ToInt32(Console.ReadLine());
//获取30天陌生人钱
int CountGetStranger = CaculateMoney(StrangerMoney, 30);
//获取30天富翁获得的钱,注意!这里是1000万分钱,我们将单位统一!
int CountGetRichman = RichmanMoney * 30;
Console.WriteLine("30天之后:");
Console.WriteLine("陌生人获得钱:{0}", CountGetStranger);
Console.WriteLine("富翁获得钱:{0}", CountGetRichman);
Console.ReadLine();
//Console.WriteLine("30天之后:");
}
public static int CaculateMoney(int money,int days)
{
//记住因为规则是2^(n-1)来匹配,比如第一天,陌生人得到2^(1-1)=1的钱,所以30天最多只有29次方
days--;
if (days != 0)
{
money = money * 2;
return CaculateMoney(money, days);
}
else
{
return money;
}
}
}
{
static void Main(string[] args)
{
Console.WriteLine("请输入陌生人每天给富翁的钱:");
int StrangerMoney = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入富翁每天给陌生人的钱:(注意请统一单位为分)");
int RichmanMoney = Convert.ToInt32(Console.ReadLine());
//获取30天陌生人钱
int CountGetStranger = CaculateMoney(StrangerMoney, 30);
//获取30天富翁获得的钱,注意!这里是1000万分钱,我们将单位统一!
int CountGetRichman = RichmanMoney * 30;
Console.WriteLine("--------------------------------------------------------");
Console.WriteLine("30天之后:");
Console.WriteLine("陌生人获得钱:{0}", CountGetStranger);
Console.WriteLine("富翁获得钱:{0}", CountGetRichman);
Console.WriteLine("--------------------------------------------------------");
int TheDay = JudgeMoneyGet(StrangerMoney, RichmanMoney,1);
Console.WriteLine("从第{0}天开始,百万富翁开始每天需要付出比收入更多的钱:", TheDay);
Console.ReadLine();
}
public static int CaculateMoney(int money,int days)
{
//记住因为规则是2^(n-1)来匹配,比如第一天,陌生人得到2^(1-1)=1的钱,所以30天最多只有29次方
days--;
if (days != 0)
{
money = money * 2;
return CaculateMoney(money, days);
}
else
{
return money;
}
}
public static int JudgeMoneyGet(int StrangerMoney, int RichmanMoney,int FirstDay)
{
while (StrangerMoney < RichmanMoney)
{
StrangerMoney *= 2;
FirstDay++;
}
Console.WriteLine("第{0}天富翁每天支出{1}", FirstDay, StrangerMoney);
return FirstDay;
}
}
PS:这是控制台的,你用的winform其实99%都是如此