标签:
整理花园问题
题目大意:
2
5 4 90
8 4 123
60 123
注意提示:
如果使用浮点数,请小心误差,输出时尽量用四舍五入。
题目分析:
这是一道典型的数学问题。做题前首先要做出计算公式,找到公式后写程序就简单了。要想得到A太太所得的钱数,因为要考虑到浮点数为问题,根据计算得到公式
三人都做每人应做的天数s=(x+y)/3.0;A多做的天数a=x-s;B多做的天数b=y-s;C应该付给A的钱数pay=a/(a+b)*z。
程序代码:
1 #include<cstdio> 2 #include<iostream> 3 using namespace std; 4 5 int T[20]; 6 int y[10]; 7 int z[1000]; 8 9 int main () 10 { 11 int T; 12 scanf("%d",&T); 13 while(T--) 14 { 15 int x,y,z; 16 double a,b,s,pay; 17 18 19 scanf("%d%d%d",&x,&y,&z); 20 21 s=(x+y)/3.0; //三人都做每人应做的天数 22 a=x-s; //A多做的天数 23 b=y-s; //B多做的天数 24 pay=a/(a+b)*z; //C应付给A的钱数 25 int k=pay+0.5; //将钱数四舍五入得到整数 26 cout<<k<<endl; 27 } 28 return 0; 29 30 }
心得:
这道题看起来很简单,但就是在计算A应该得到多少钱时,总也找不到关系式,所以计算了很久。找到关系式后,程序很快就写完啦。算是一道很简单的题目。
觉得自己在思考方面还存在一些问题,下次应该更多做一些数学题,锻炼一下自己的思维能力。
标签:
原文地址:http://www.cnblogs.com/ttmj865/p/4654852.html