出售金鱼

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
////直接计算
//int main()
//{
//	int j;		//第几次卖
//	int x = 11;		//鱼的条数
//	for (j = 5; j >= 2; j--)
//	{
//		x = (x * j + 1) / (j - 1);
//	}
//	printf("原来鱼缸中有%d条", x);
//	return 0;
//}

//穷举
int main()
{
	int i, j, x, flag = 0;		//flag作为控制标志
	//从23开始试探,步长为2
	for (i = 23;flag == 0; i += 2)
	{
		for (j = 1, x = i; j <= 4 && x >= 11; j++)
		{
			if ((x + 1) % (j + 1) == 0)			//判断x + 1是否能整除j + 1
				x -= (x + 1) / (j + 1);
			else
			{
				x = 0;
				break;
			}
		}
		if (j == 5 && x == 11)
		{
			printf("原来鱼缸中共有%d条金鱼.\n", i);
			flag = 1;		//求出结果,flag置1,退出试探
		}
	}
}

posted @ 2023-05-04 21:30  258333  阅读(12)  评论(0编辑  收藏  举报