手撕常用算法

手撕常用算法

1-1枚举类型-百钱买百鸡

** 枚举方法即为一种归纳的思想**,将问题的所有可能答案一一列举,然后根据条件判断此答案是否合适。

枚举类型题:百钱买百鸡
我国古代数学家张丘建在《算经》中出了一道“百钱买百鸡”的问题,
5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡。
现在用100文钱买100只鸡那么各有公鸡,母鸡,雏鸡多少只?请编写程序实现

题型解析
设一公鸡数量为gj,母鸡数量为mj,小鸡数量为xj,
以单个类型最大范围做数量限制,可列出3组for循环语句,
以此循环出所有情况,选取其中符合题意的可能性

如图所示
在这里插入图片描述

代码

public class chicken {
   
    public static void main(String[] args){
   
        for (int gj = 0; gj < 20; gj++) {
   //gj表示公鸡
            for (int mj = 0; mj < 33; mj++) {
   //mj表示母鸡
                for (int xj = 0; xj <100; xj++) {
   //xj表示小鸡
                    //用Java语言列出三个方程式,小鸡的个数必须为三的倍数
                    if (gj*5+mj*3+xj/3==100&&gj+xj+mj==100&&xj%3==0){
   
                        System.out.println("公鸡:"+gj+"母鸡:"+mj+"小鸡:"+xj);
                    }
                }
            }
        }
    }
}

结果

公鸡:0母鸡:25小鸡:75
公鸡:4母鸡:18小鸡:78
公鸡:8母鸡:11小鸡:81
公鸡:12母鸡:4小鸡:84

1-2枚举类型-填写运算符

填写运算符
问题描述:在下面的算式中,添加 “+” “-” “*” “/” 4个运算符,使这个等式成立
5 5 5 5 5 = 5
算法分析:上述算是由5个数字构成,一共需要填入4个运算符。
根据题目要求,知道每两个数字之间的运算符只能有4种选择,分别是加减乘除。
在具体编程时,可以通过循环来填入各种运算符,然后再判断算式是否成立,
并且保证当填入除号时,其右侧的数不能是0,并且乘除运算符的优先级高于加减。

如图所示
在这里插入图片描述

代码

public class sign {
   
    public stati
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值