题目名称:佳佳买菜
描述
佳佳是我们的ACM社团的副社长,她感觉得自己没存在感,so…
由于实验室要聚餐了,佳佳决定买点菜,来做菜给大家吃。佳佳喜欢吃娃娃菜,于是她来到买菜的地方。
佳佳:我要10斤娃娃菜。
老板称完 10斤一共是20元。
佳佳看这次的菜比以往的少了点,但单纯的佳佳没想太多。一旁的琛哥看了下,把菜篮和娃娃菜一起放在称上,显示是28元,
但篮子的重量是2斤,琛哥直接说:老板还我们10元。
老板愣了一下,还给了佳佳10块钱。
输入
第一行一个整数T表示数据组数。接下来T行,每行输入4个不超过1000且大于零的整数n,a,b,c。其中n表示佳佳要买多少斤娃娃菜,a表示老板称完后娃娃菜的总价,b表示娃娃菜和篮子放在称上显示的价格,c为篮子的重量。
输出
T行每行老板应该退还的钱(保留两位小数)
样例输入
1
10 20 28 2
样例输出
10.00
题解
这道题目是一道比较简单的数学题。根据题意,要求老板应该退换的钱,应为称完的总价a减去菜的实际价值。同时我们可以了解,老板坑钱的方式是改变系数k。因此,菜的实际价值为n/k菜的单价。
其中菜的单价为a/n。对k的求解我们可以利用 大专栏 ypoj 2286 佳佳买菜篮子和菜一起称出的价格,结合篮子重量,得到(n+ck)*菜单价=b综上所述,我们可以得到老板退换的钱为a-aac/n/(b-a)
代码
12345678910111213141516 |
int (){ int n; double d,a,b,c; double k; scanf("%d",&n); while(n--) { scanf("%lf%lf%lf%lf",&d,&a,&b,&c); k=a-a*a*c/d/(b-a); printf("%.2lfn",k); } return 0;} |
原文地址:https://www.cnblogs.com/lijianming180/p/12251271.html
时间: 2024-10-18 00:33:08