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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 某某帅 中级黑马   /  2016-9-3 00:03  /  702 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我有200斤大米,我需要换成西瓜和苹果
        4斤大米能换一个西瓜,3斤大米能换一个苹果
        200斤大米全部换完,请问一共有多少种换法(西瓜和苹果都至少有一个

6 个回复

倒序浏览
刚好没事,稍等
回复 使用道具 举报
public static void main(String[] args) {
                int count = 0;
                for(int xg = 1; xg < 200 / 4; xg++) {
                        if((200 - xg * 4) % 3 == 0) {
                                count++;
                                int pg = (200 - xg * 4) / 3;
                                System.out.print("西瓜:" + xg + "个,");
                                System.out.println("苹果:" + pg + "个");
                        }
                }
                System.out.println("总共" + count + "种方法");
回复 使用道具 举报

public class Test {
            public static void main(String[] args) {
                    //换法数量
                    int count = 0;
                    //至少1个西瓜、1个苹果,剩余193斤大米
                    //西瓜、苹果数量,全部换西瓜48个、苹果64个
                for(int i=1;i<=48;i++) {
                        for(int j=1;j<=64;j++) {
                                if(i*4+j*3 == 193) {
                                        count++;
                                }
                        }
                }
                System.out.println("总共有"+count);
            }
}
回复 使用道具 举报
Android一米阳光 来自手机 初级黑马 2016-9-3 00:33:52
报纸
楼上溜溜哒
回复 使用道具 举报
这题用穷尽法,一一列出结果来,你先这样想,假如全部用来换习惯能换50个,但是必须有苹果,那么西瓜个数就不能等于50,同样苹果个数不能超过66个(假设西瓜x,苹果y),代码如下:
[Java] 纯文本查看 复制代码
class Exam {
	public static void main(String[] args) {
		//西瓜和苹果必须有,所以都从1开始
		int x = 1;
		int y = 1;
		int count = 0;
		//用西瓜作为循环数x=(200-3y)/4,苹果也行y=(200-4x)/3,取整
		for (x = 1;x < 50 ;x++ ) {
			//if判断他是否能全部换完
			if((y = (200 - 4*x)/3)%2==0) {
				count++;
				System.out.println("西瓜个数 = "+ x + ",和苹果个数 = "+y);
			}
		}
		System.out.println("一共有"+count+"种换法");

		
	}
}
回复 使用道具 举报
就是双重for循环然后判断,我建议你锻炼一下你自己的思维,这些需要用数学思想来考虑的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马