上机内容:一个百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,该计划如下:
我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给你十万元,你给我两分钱,第三天我仍给你十万元,
你给我四分钱,....,你每天给我的钱是前一天的两倍,直到满一个月(30天),百万富翁很高兴,欣然接受了这个契约。
请编程序,通过计算说明,这个换钱计划对百万富翁是否是个划算的交易。
上机目的:循环结构编程
我的程序:
运行结果:
我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给你十万元,你给我两分钱,第三天我仍给你十万元,
你给我四分钱,....,你每天给我的钱是前一天的两倍,直到满一个月(30天),百万富翁很高兴,欣然接受了这个契约。
请编程序,通过计算说明,这个换钱计划对百万富翁是否是个划算的交易。
上机目的:循环结构编程
我的程序:
/*
* 程序的版权和版本声明部分:
* Copyright (c) 2013, 青岛农业大学理信学院
* All rights reserved.
* 文件名称:贪财的富翁.cpp
* 作 者:幻影行者
* 完成日期:2013 年 7 月 25 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:
* 输入描述:无
* 问题描述:一个百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,该计划如下:
* 我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给你十万元,你给我两分钱,第三天我仍给你十万元,你给我四分钱,....,
* 你每天给我的钱是前一天的两倍,直到满一个月(30天),百万富翁很高兴,欣然接受了这个契约。
* 请编程序,通过计算说明,这个换钱计划对百万富翁是否是个划算的交易。
* 程序输出:略
* 问题分析:是否划算需要比较30天后陌生人和富翁各得多少钱。
* 算法设计:略
*/
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
double stranger_gets=0,richer_gets=0; //stranger_gets陌生人得到的钱 richer_gets富翁得到的钱,初值都为零
double s2r=1e5,r2s=0.01; //s2r(stranger to richer)陌生人给富翁的钱,r2s富翁给陌生人的钱,1e5=10的五次方
int i,count=0; //i表示天数
cout<<"每天交易情况:"<<endl;
for(i=1;i<=30;++i)
{
//++count;
richer_gets+=s2r; //陌生人每天给富翁十万元
stranger_gets+=r2s;
r2s*=2; //富翁每天给陌生人的钱总是前一天的两倍
cout<<setprecision(3);
cout<<"第"<<i<<"次"<<"交易情况:"<<endl; //列出每天的交易情况
cout<<"富翁得钱:"<<richer_gets<<'\t'<<"陌生人得钱:"<<stranger_gets<<endl;
}
cout<<setprecision(5);
cout<<"富翁最终得钱:"<<richer_gets<<endl;
cout<<"陌生人最终得钱:"<<stranger_gets<<endl;
if(richer_gets<stranger_gets)
cout<<"此次交易对富翁不划算,富翁是个傻逼!"<<endl;
else
cout<<"此次交易对陌生人不划算,陌生人闲得蛋疼!"<<endl;
return 0;
}
运行结果: