C语言求三元一次方程组x+2y+z=m, 3x+2y+2z=n的所有正整数解程序

编写程序

求三元一次方程组x+2y+z=m, 3x+2y+2z=n的所有正整数解,其中m和n由用户输入

编程思路

首先从用户输入中获取m和n的值。然后,我们遍历所有可能的x、y、z的取值,即从1到m进行循环。对于每组x、y、z的取值,我们判断是否满足方程组x+2y+z=m, 3x+2y+2z=n。如果满足,则输出该组正整数解。

源代码

#include <stdio.h>

int main() {
    int m, n;
    printf("Input m n:");
    scanf("%d %d", &m, &n);
    printf("x   y   z\n");
    // 遍历所有可能的x、y、z的取值
    for (int x = 1; x <= m; x++) {
        for (int y = 1; y <= m; y++) {
            for (int z = 1; z <= m; z++) {
                if (x + 2 * y + z == m && 3 * x + 2 * y + 2 * z == n) {
                    printf("%d  %d  %d\n", x, y, z);
                }
            }
        }
    }
    
    return 0;
}

运行截图

图片[1]-C语言求三元一次方程组x+2y+z=m, 3x+2y+2z=n的所有正整数解程序-QQ沐编程

© 版权声明
THE END
喜欢就支持一下吧
点赞16赞赏 分享