A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

已知XYZ+YZZ=532,其中,X、Y、Z 为数字,编程求出X、Y 和Z 的值.
public class Test {
        public static void main(String[] args) {
                int X, Y, Z, sum;
                for (X = 0; X < 10; X++) {
                        for (Y = 0; Y < 10; Y++) {
                                for (Z = 0; Z < 10; Z++) {
                                        sum = X * Y * Z + Y * Z * Z;
                                        if (sum == 532) {
                                                System.out.println(X + "," + Y + "," + Z);
                                        }
                                }
                        }
                }
        }
}

7 个回复

倒序浏览
你试试if (sum >= 532)
回复 使用道具 举报
XYZ+YZZ=532,其中,X、Y、Z 为数字
这里应该是X*100+Y*10+Z+Y*100+Z*10+Z吧?
结果应该是321+211=532
回复 使用道具 举报 1 0
楼上正解,xyz三者之间不是乘的关系(不然这就是一个三元一次方程了,没有确定解),而是表示个位、十位、百位
回复 使用道具 举报
不知道需求,就理不清思路,没有思路,代码就会乱,如果你感觉你的代码很乱,其实你应该从头分析需求理理思路
老师应该给你讲过三层循环最好不用吧?如果有三层循环最好换其他的形式,你这里出现了三层嵌套,就说明哪里除了问题了,就应该回头查查
希望这个思路能够帮到你更多一些
回复 使用道具 举报
本帖最后由 guoqiangmailbox 于 2015-5-12 17:33 编辑

你把所有结果打印一下 ,根本没有你要的那个结果 ,下面是我运行的一部分结果:
我的值是:198 我的值是:324 我的值是:468 我的值是:630 我的值是:810 我的值是:1008 我的值是:1224 我的值是:1458
回复 使用道具 举报
bingyu 发表于 2015-5-12 11:46
XYZ+YZZ=532,其中,X、Y、Z 为数字
这里应该是X*100+Y*10+Z+Y*100+Z*10+Z吧?
结果应该是321+211=532

对的。楼主理解的好像有偏差。
回复 使用道具 举报
楼主的判断语句写的不对,应该是X*100+Y*10+Z+Y*100+Z*10+Z,而不是连乘
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马