Problem K. S06-19 富翁的契约(没人会做亏本的生意~)
有一天,一位百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,陌生人对百万富翁说:“我每天给你10万元,而你第一天只需给我1分钱,第二天我仍给你10万元,你给我2分钱,第三天我仍给你10万元,你给我4分钱·····你每天给我的钱是前一天的2倍,直到满一个月(30天)为止”,百万富翁很高兴,欣然接受了这个契约。请编程计算在这一个月中陌生人总计给百万富翁多少钱,百万富翁总计给陌生人多少钱。
输入
无
输出
百万富翁给陌生人: 10737418.230000元
陌生人给百万富翁: 3000000.000000元
样例
标准输入复制文本 |
无 |
标准输出复制文本 |
百万富翁给陌生人: 10737418.230000元 陌生人给百万富翁: 3000000.000000元 |
提示
结果必须要保留六位小数,否则判错;
没有按照输出格式来输出,判错。
若多次调试问题出在输出而不是算法上,则题解中有会给出部分输出提示。
解题思路:
1、照例打表
2、富翁给的钱之和本质就是求等比数列的和,陌生人则是求一个常数列的和
3、注意分、元之间的转换
#include <bits/stdc++.h>
using namespace std;
int main()
{
double i;
double a,b;
i=pow(2,30)-1;
a=i/100;
b=1e5*30;
printf("百万富翁给陌生人: %.6lf元\n",a);
printf("陌生人给百万富翁: %.6lf元",b);
return 0;
}