- #include <iostream>
- using namespace std;
- int main( )
- {
- double m2f=1.0e5,f2m=0.01,m2fs=0,f2ms=0; //陌to富(m2f)每天1.0e5元,富to陌(f2m)第一天1分钱……
- int day=1;//一定要赋初值
- for(day=1;day<=30;day++)
- {
- m2fs+=m2f;
- f2ms+=f2m;
- f2m*=2; //每天翻倍
- }
- cout<<"陌给富:"<<m2fs<<",富给陌:"<<f2ms<<endl;
- if(m2fs>f2ms)
- cout<<"陌生人输了";
- else
- {
- if (m2fs<f2ms)
- cout<<"富翁输了";
- else
- cout<<"两人持平,没意思的交易";
- }
- cout<<endl;
- return 0;
- }
为使计算过程更清楚些,可以在循环中对每天的交易进行输出,程序如下:
- #include <iostream>
- using namespace std;
- int main( )
- {
- double m2f=1.0e5,f2m=0.01,m2fs=0,f2ms=0;
- int day=1;//一定要赋初值
- for(day=1;day<=30;day++)
- {
- m2fs+=m2f;
- f2ms+=f2m;
- f2m*=2;
- cout<<"第"<<day<<"天,陌生人给富翁累计 "<<m2fs<<",富翁给陌生人累计 "<<f2ms<<endl;
- }
- cout<<"最终,陌生人给富翁:"<<m2fs<<",富翁给陌生人:"<<f2ms<<",";
- if(m2fs>f2ms)
- cout<<"陌生人输了";
- else
- {
- if (m2fs<f2ms)
- cout<<"富翁输了";
- else
- cout<<"两人持平,没意思的交易";
- }
- cout<<endl;
- return 0;
- }