算法笔记——穷举思维

//问题1:百钱问题:将一元人民币换成1、2、5分的硬币,共有多少种换法?
#include 
using namespace std;
int main(void)
{
	int nSum = 0;
	int i = 0;
	int j = 0;
	// 5分情况
	for (i = 0; i <= 20; ++i)
	{
		// 2分情况
		for (j = 0; j < 50; ++j)
		{
			if ((i * 5 + j * 2) <= 100)
			{
				nSum++;
				cout << 100 - 5 * i - 2 * j << "\t" << j << "\t" << i << endl;
			}
		}
	}
	cout << "共有" << nSum << "种换法" << endl;

	return 0;
}
// 问题2:
// A、B、C、D四个孩子踢球时打碎了玻璃窗,
// A说:不是我”
// B说:是C
// C说:是D
// D说:他胡说 
// 他们中只有一个人说了谎话,请问打碎玻璃窗的是? 

#include 
using namespace std;
int main(void)
{
	for (int n = 1; n <= 4; ++n)
	{
		if ((n != 1) + (n == 3) + (n == 4) + (n != 4) == 3)
		{

			cout << "打碎玻璃窗的是: " << n << endl;
		}
	}

	return 0;
}



你可能感兴趣的:(算法)