追梦少年_66 发表于 2017-11-13 15:32

菜鸟学C之第一题

只要有梦想,再迟都不怕。
只要够流氓,再难都不怕。

//1.        编程序求 5X + 2Y + Z = 50 的所有非负整数解。

#include<stdio.h>
#include<stdlib.h>


void main() {
        for (int x = 0; x < 50; x++) {

                for (int y = 0; y < 50; y++) {
                        for (int z = 0; z < 50; z++) {
                                if (5*x + 2*y + z == 50) {
                                        printf("%4d,%4d,%4d\n", x, y, z);
                                }
                        }
                }
        }
        getchar();
}

void main2() {

        for (int x= 0; x <= 50 / 5; x++) {
                for (int y = 0; y <= (50 - 5 * x) / 2; y++) {
                        int z = 50 - 5 * x - 2 * y;
                        if (z > 0) {

                                printf("%4d,%4d,%4d\n", x, y, z);
                        }
                }
        }
        getchar();
        //解题思路:类似于树状图。列出x的所有情况,其从0到50/5,在x的值固定的情况下,y的可能性在0,(50 - 5 * x) / 2之间,,在x,y值都固定的情况下,如果z =50 - 5 * x - 2 * y 大于0,此时的x,y,z就是一个解。
}

Yang|阳 发表于 2017-11-13 17:21

不错,坚持下去

盈陌 发表于 2017-11-14 15:39

没太看懂 小白一个

wforever 发表于 2017-11-14 22:33

厉害{:1_921:}同样是初学者我要看好长时间才能看明白

_丶 发表于 2017-11-26 11:20

这格式好乱

fzx526 发表于 2017-11-26 12:41

大神啊你,我不会做

追梦少年_66 发表于 2017-11-26 12:58

fzx526 发表于 2017-11-26 12:41
大神啊你,我不会做

兄弟这是最基础的,得努力

applexh 发表于 2017-11-26 13:20

其实x可以直接<10吧,按道理来说.虽然表达式肯定这样的话.
页: [1]
查看完整版本: 菜鸟学C之第一题