12 学做菜

news/2025/2/26 7:23:27

12 学做菜

作者: Turbo时间限制: 1S章节: 基本练习(循环)

问题描述 :

涛涛立志要做新好青年,他最近在学做菜。由于技术还很生疏,他只会用鸡蛋,西红柿,鸡丁,辣酱这四种原料来做菜,我们给这四种原料标上字母A,B,C,D。
  涛涛现在会做的菜有五种:
  1、 西红柿炒鸡蛋 原料:AABDD
  2、 酸辣鸡丁 原料:ABCD
  3、 宫保鸡丁 原料:CCD
  4、 水煮西红柿 原料:BBB
  5、 怪味蛋 原料:AD
  这天早上,开开去早市给涛涛买了一些原料回来。由于事先没有什么计划,涛涛决定,对于现存的原料,每次尽量做菜单上靠前(即编号小)的菜。
  现在请你写一个程序,判断一下开开和涛涛中午能吃到哪些菜。

输入说明 :

共4个整数a,b,c,d。分别表示开开买的A,B,C,D这4种原料的数量。每种原料不会超过30份。

输出说明 :

输出5行。其中第i行表示涛涛做的第i种菜的数目。

输入范例 :

3
1
2
4
输出范例 :

1
0
1
0
1

import java.util.Scanner;

public class test_12 {
    /**
     * 12 学做菜
     * @param args
     */
    public static void main(String[] args) {
        int[] a = intput();
        deal(a);

    }

    private static int[] intput() {
        Scanner sc = new Scanner(System.in);
        int num;
        int[] a = new int[4];
        for (int i = 0; i < 4; i++) {
            num = sc.nextInt();
            a[i]=num;
            sc.nextLine();
        }
        return a;
    }

    private static void deal(int[] a) {
        //AABDD
        int count1=0;
        while(a[0]>=2 && a[3]>=2 && a[1]>=1){
            count1++;
            a[0]-=2;
            a[1]--;
            a[3]-=2;
        }
        System.out.println(count1);
        //ABCD
        int count2=0;
        while(a[0]>=1 && a[1]>=1 && a[2]>=1 && a[3]>=1){
            count2++;
            a[0]--;
            a[1]--;
            a[2]--;
            a[3]--;
        }
        System.out.println(count2);
        //CCD
        int count3=0;
        while(a[2]>=2 && a[3]>=1){
            count3++;
            a[2]-=2;
            a[3]--;
        }
        System.out.println(count3);
        //BBB
        int count4=0;
        while(a[1]>=3){
            count4++;
            a[1]-=3;
        }
        System.out.println(count4);
        //AD
        int count5=0;
        while(a[0]>=1 && a[3]>=1){
            count5++;
            a[0]--;
            a[3]--;
        }
        System.out.println(count5);
    }
}


http://www.niftyadmin.cn/n/709930.html

相关文章

用顺序结构实现对二叉树的三种遍历方式

#include<stdio.h> int a[20],n; //创建二叉树 void creat(int b) {int i;for(i1;i<b;i)a[i]i; } //先序遍历 void xianxu(int a) {if(a<n){printf("%d ",a);//三种遍历都是采用的递归的思想。xianxu(2*a);//当根节点输出之后&#xff0c;就找出根节点所…

如何判断Oracle DB是归档还是非归档模式,如何切换

查看oracle日志模式&#xff1a;archive log list修改oracle日志模式&#xff1a; 1&#xff0c;关闭数据库&#xff1a;shutdown immediate; 2&#xff0c;启动数据库实例到mount状态&#xff1a;startup mount; 3&#xff0c;切换数据库日志模式&#xff1a; alter database …

21 谁是老二?

21 谁是老二&#xff1f; 作者: Turbo时间限制: 1S章节: 一维数组 问题描述 : 一维数组中存储不超过100个整型数据&#xff0c;请找出其中第二大的元素&#xff0c;输出这些元素的值以及它们的下标。 注意&#xff0c;由于元素值可能相同&#xff0c;因此具有最大值的元素个…

DijKstra算法——单源最短路径的理解

/*单元最短路径&#xff0c;这个算法的思想就是每次先找到离原点最近的点&#xff0c;然后以这个点为基础扩展&#xff0c; 然后比较原点到扩展点的距离与原点到最点的距离加上最近点的距离到扩展点的距离&#xff0c; 如果大于的话就需要跟新原来dis中的距离*/ #include<st…

【工具使用系列】关于 MATLAB 过程控制,你需要知道的事

2019独角兽企业重金招聘Python工程师标准>>> 如何进行过程控制 什么是过程控制 转载于:https://my.oschina.net/shamrocks/blog/1618301

20 整除的尾数

20 整除的尾数 作者: Turbo时间限制: 1S章节: 一维数组 问题描述 : 一个整数&#xff0c;只知道前几位为a&#xff0c;不知道末二位&#xff0c;被另一个整数b除尽了(即没有余数)&#xff0c;那么该数的末二位该是什么呢&#xff1f; 程序已完成主体框架,请完成以下函数get…

oracle重做日志文件硬盘坏掉解决方法

rman target/ list backup; list backup summary; 删除数据库数据文件夹下的log日志&#xff0c;例如/u01/app/oracle/oradata/ORCL下的所有后缀为log的文件 sqlplus / as sysdba alter system switch logfile;    因为没有重做日志文件&#xff0c;会一直处于等待装填&…

对vector容器存储的理解

vector 容器中如果用尾插的方法放入vector 容器中&#xff0c;其实vector就相当于一个二维数组&#xff0c;当插入第一个输得时候就放在了vector 二维数组中的第一行&#xff0c;接下来每次输入一个就放在了下一行。 #include<vector>//定义vector容器头文件 #include&l…