直接就是一道java编程题,智一面王老师自己也做了下,难度中上,还可以接受
此外,【王老师说运维】再分享一套综合题给大家,直接电脑点击链接(别忘了微信扫码登录一下)就可以开发答题:
运维开发工程师在线评测:http://www.gtalent.cn/exam/interview/nsYteJ5wFfWkMdb2
题目描述:假设你去超市买苹果,现在超市有两种包装的苹果:一种一袋里面装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("无法购买");
}
}
}
}
【王老师说运维】:运维之linux基础入门实战(http://www.codeforest.cn/course/443)