M0003 枚举解整数方程
Posted 海岛Blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了M0003 枚举解整数方程相关的知识,希望对你有一定的参考价值。
问题描述:
若a和b为正整数,且a+ab+b=m,求a+b。
输入:
若干个正整数m。
输出:
a+b的值。如果有多个a+b满足原方程式则多行输出,每一行输出一个a+b。
对于每个m,输出a+b之后输出一个空行隔开结果。
样例输入:
25
23
样例输出
13
12
9
8
问题分析:
本题用枚举法来实现。
因为求a+b=b+a,所以只需要枚举a≤b的情况。
解题C语言程序如下:
/* M0003 枚举解整数方程 */
#include <stdio.h>
int main()
int m;
while(~scanf("%d", &m))
for (int a = 1; a < m; a++)
for (int b = a; b < m; b++)
if (a + a * b + b == m)
printf("%d\\n", a + b);
printf("\\n");
return 0;
以上是关于M0003 枚举解整数方程的主要内容,如果未能解决你的问题,请参考以下文章