12行代码AC——试题 算法训练 猴子吃包子——解题报告

励志用尽量少的代码做高效的表达。


注意点:

挨个算吃包子的时间势必会因为省略小数的问题导致结果不准确。
因此,对于本题:我的核心思路是:分数代替小数,使用除法+取余的方式化简分数,进而解题。

代码:

#include<bits/stdc++.h>
using namespace std;
int main() {
	int x, y, z, x1, y1, z1, p;
	cin >> x >> y >> z >> x1 >> y1 >> z1 >> p;
	int xi, yi, zi;							//分子。
	int sum1 = (x1/x)+(y1/y)+(z1/z); 		//保存整数部分 
	xi = (x1%x); yi = (y1%y); zi = (z1%z);	//保存分子
	double sum = (double)sum1 + (double)(xi*y*z + yi*z*x + zi*x*y)/(x*y*z);	//整数部分+小数部分 
	cout << fixed << setprecision(p) << sum ; 	//小数点后p位输出 
	return 0;
} 

但行好事,莫问前程。只问耕耘,不问收获。成功不必在我,而功力必不唐捐。

发布了97 篇原创文章 · 获赞 104 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43899069/article/details/105597285