网易运维开发岗笔试题目

题目描述:假设你去超市买苹果,现在超市有两种包装的苹果:一种一袋里面装6个苹果,另一种是一袋里面装8个苹果。

现在假设你要买88个苹果,就有如下几种组合:
  6个苹果的袋数为:0  8个苹果的袋数为:11
  6个苹果的袋数为:4  8个苹果的袋数为:8
  6个苹果的袋数为:8  8个苹果的袋数为:5
  6个苹果的袋数为:12  8个苹果的袋数为:2

  但是为了总的袋数最少,你就的选择6个苹果的袋数为:0  8个苹果的袋数为:11

如果无法组合,就无法购买


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class PurchaseApple {
	
	public static void main(String[] args) throws NumberFormatException, IOException{		
		while(true){
			int n6=0;   //6个袋数
	 		int n8=0;   //8个袋数
			int Num = 0;   //苹果总的个数
			BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
			System.out.println("请输入购买苹果的总数:");
			Num = Integer.parseInt(buf.readLine());
			if(Num%(8)==0){
				n6=0;
				n8=Num/8;
			}else{
				for (int i = Num/8; i >= 0; i--) {
					int temp = Num-8*i;
					if((temp%6)==0){
						if(n6==0&&n8==0){  //第一次赋值
							n6 = temp/6;
							n8 = i;
			 			}else if((n6+n8)>(i+(temp/6))){  //将此次苹果袋数的总数与上一次进行比较,如果小于上次袋数的总数,则重新赋值
			 				n6 = temp/6;
							n8 = i;
			 			}							
					}
				}
			}		
	 		System.out.println("最后选择:"+"\r"+"6个苹果的袋数为:"+n6+"  8个苹果的袋数为:"+n8);		
			if(n6==0 && n8==0){
				System.out.println("无法购买");
			}	
		}
		
	}
}

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值