C++计算屏幕面积

根据屏幕的尺寸 分辨率来计算屏幕的面积

期中分辨率往往很大需要进行约分后减少后续面积的计算量
求最大公约数采用了欧几里德算法:
例如: 求102 39的最大公约数
102 = 39 * 2 + 24
39 = 24 * 1 + 15
24 = 15 * 1 + 9
15 = 9 * 1 + 6
9 = 6 * 1 + 3
6 = 3 * 2 + 0
所以最大公约数为 3

#include <iostream>
#include <math.h>

using namespace std;



int main()
{
	cout << "Hello World!\n";
	cout << "请输入屏幕尺寸   长宽像素点 例如27寸2k(2k = 2560 * 1440)则输入  27 2560 1440" << endl;
	cout << "输入 0 0 0  退出循环\n";
	while (true)
	{
		double  a;
		int b, c;
		
		cin >> a >> b >> c;
		if (a == 0) break;
		else {
			//最大公约数    欧几里德算法
			int n, m, x;
			if (b < c) {
				n = b;
				b = c;
				c = n;
			}
			n = b - c;
			x = m = c % n;
			while (m != 0) {
				m = n % x;
				n = x;
				x = m;
			}
			//cout << "最大公约数为:" << n << endl;

			b = b / n;
			c = c / n;
		}

		double d = (double)b;
		double e = (double)c;
		a = a * 2.54;
		double sum = pow(a * b * c, 2) / pow((pow(d,2)+pow(e,2)),2);
		cout << "面积:"<<sum <<"cm^2"<< endl;
	}
}
上一篇:Leetcode 39 Combination Sum(组合总和)


下一篇:Python日志模块的管理(二)