c语言解二元二次方程组

设a和b是正整数

a+b=30 且a*b=221 求a和b的值

 

思路就是穷举a和b的值,每次得到a和b的一个值,看是否同时满足a+b=30且a*b=221,如果满足,那么就输出。

那么a和b的的取值范围就是关键了

由a+b=30且a和b是正整数得出0<a<=30 ,0<b<=30

由a*b=221得出a<=221 b<=221

两个条件同时满足,那么a的范围就是0<a<=30 b的范围就是0<b<=30

求出取值范围,那么穷举的范围就缩小了

for (int a = 1; a <= 30; a++)
	{
		for (int b = 1; b <= 30; b++)
		{
			if ((a + b == 30) && (a*b == 221))
			{
				printf("a=%d b=%d\n",a,b);
			}
		}

	}

  

 

posted @ 2018-10-15 13:27  eatwhat  阅读(1772)  评论(0编辑  收藏  举报