zoukankan      html  css  js  c++  java
  • 简单推导14:熊怪吃桃

    【熊怪吃核桃】
    森林里有一只熊怪,很爱吃核桃。不过它有个习惯,每次都把找到的核桃分成相等的两份,吃掉一份,留一份。
    如果不能等分,熊怪就会扔掉一个核桃再分。第二天再继续这个过程,直到最后剩一个核桃了,直接丢掉。
    有一天,熊怪发现了1543个核桃,请问,它在吃这些核桃的过程中,一共要丢掉多少个核桃。

    请填写该数字(一个整数),不要填写任何多余的内容或说明文字。

    【分析】这道题其实就是需要我们去写一个递归方法来模拟熊怪吃核桃这样一个过程,我们需要做的就是想清楚递归出口,当剩下的核桃数量小于1的时候怎么办?当剩下的核桃数量等于1的时候怎么办?,其次就是判断一下剩余核桃数量是奇数时候,怎么处理,剩余核桃数量是偶数的时候,怎么处理。

    import java.math.BigInteger;
    import java.util.*;
    
    public class Lanq {
        //public static double pi = 3.1415926535897932;
    
        public static void main(String[] args) {
           int n=1543;
           int drop=0;
           while(n>0)
           {
               System.out.println(n);
               if(n%2==0){
                   n=n/2;
                   //System.out.println(n);
               }
    
               else if(n%2!=0)
               {
    
                   n=n-1;
                   drop++;
    
                   n/=2;
    
               }
           }
           System.out.println(drop);
        }
    }
    

      

  • 相关阅读:
    ARM的存储器映射与存储器重映射
    Nand Flash与Nor
    内核 任务的堆栈切换
    Linux设备模型(总结)
    file结构体中private_data指针的疑惑
    Sysfs文件系统与Linux设备模型
    认识udev
    Linux操作系统下的常见系统资源共享
    linux下的udev是干嘛的,能否说的通俗点
    udev详解
  • 原文地址:https://www.cnblogs.com/passion-sky/p/8544473.html
Copyright © 2011-2022 走看看