• 关于猴子拿桃子的问题


    题目:有5只猴子分桃子,第一只猴子先去分,把一只桃子扔海里,然后平均分了剩下的桃子,自己拿走了一份;第2只猴子也是把一只桃子扔进海里,然后也平均分了剩下的桃子拿走了一份;第3,4,5只猴子都按照这样的方法分了桃子,请问桃子最少有多少只?    
       
    昨天晚上我给出的解答:    
       
    设:    
    第一个猴子拿了x1个桃子    
    第二个猴子拿了x2个桃子    
    第三个猴子拿了x3个桃子    
    第四个猴子拿了x4个桃子    
    第五个猴子拿了x5个桃子    
       
    最后剩余a个桃子;    
       
    总共有n个桃子;    
       
    根据题意:    
    a
    =x5*4    
    x4
    =(1+x5*5)/4    
    x3=(1+x4*5)/4    
    x2=(1+x3*5)/4    
    x1=(1+x2*5)/4    
       
    n
    =a+x1+x2+x3+x4+x5+5;    
       
    <script>    
    var x1,x2,x3,x4,x5,a,n;    
    for (x5=1;true;x5++{    
     x4 
    = (1+x5*5)/4;    
     x3 = (1+x4*5)/4    
     x2 = (1+x3*5)/4    
     x1 = (1+x2*5)/4    
     if ( (x4 % 1== 0 && (x3 % 1== 0 && (x2 % 1== 0 && (x1 % 1== 0{    
      
    break;    
     }
        
    }
        
    a
    =x5*4;    
    n
    =a+x1+x2+x3+x4+x5+5;    
    alert(
    "总共最少有 "+ n + " 个桃子!");    
    </script>    
       
    一下是n个猴子的思路,但结果现在不对,正在调试中:    
       
    <pre>    
    设:    
       
    最后剩余a个桃子;    
    总共有n个桃子;    
    总共有k个猴子;    
       
    则:    
    第一个猴子拿了X1个桃子    
    第二个猴子拿了X2个桃子    
    第三个猴子拿了X3个桃子    
    第四个猴子拿了X4个桃子    
    第五个猴子拿了X5个桃子    
        
    第 k个猴子拿了Xk个桃子    
       
    根据题意:    
    a
    =Xk*(k-1)    
    X(k
    -1)=(1+Xk*k)/(k-1)    
    x(k-2)=(1+X(k-1)*k)/(k-1)    
        
    X2
    =(1+X3*k)/(k-1)    
    X1=(1+X2*k)/(k-1)    
       
    n
    =a+X1+X2+X3+X4+X(k-1)+Xk+5;    
    </pre>    
       
    <script>    
       
    var str = "";     
    function diguiFun(X,k,k1) {    
     
    var X_temp = (1+X*k)/(k-1);    
     str = str+X_temp+"~";    
     
    //alert(k1);    
     if (--k1 > 1{    
      diguiFun(X_temp,k,k1);    
     }
         
    }
        
       
    function monekyFun(k) {    
     
    var Xk,a,n,n_temp;    
     
    var arr;    
     outerFor:
    for (Xk=1;true;Xk++{    
      
    var b = false;     
      str 
    = "";     
      diguiFun(Xk,k,k);    
      
    //alert(Xk);    
      alert(str)    
      arr 
    = str.split("~");    
      innerFor:
    for (var i=0; i<arr.length-1; i++{    
       
    if ((arr[i] % 1!= 0{    
        
    continue outerFor;    
        b 
    = true;    
       }
        
      }
        
      
    if (!b) break;    
     }
        
     a 
    = Xk*(k-1);    
     alert(a);    
     n_temp 
    = a + k;    
     n 
    = parseInt(n_temp);    
     alert(arr.length)    
     
    for (var j=0; j<arr.length-1; j++{    
      n 
    = n + parseInt(arr[j]);    
     }
        
     alert(
    "总共最少有 "+ n + " 个桃子!");    
    }
        
       
    function setNumFun() {    
     
    var num = document.getElementById("redhacker").value;    
     monekyFun(num);    
    }
        
    </script>    
    <input type="text" value="5" id="redhacker"/>    
    <input type="button" value="计算" onclick="setNumFun()"/>  
  • 相关阅读:
    【转】微信小程序开发之图片等比例缩放 获取屏幕尺寸图片尺寸 自适应
    解决vscode egg调试出现: this socket has been ended by other party【转】
    高仿Readhub小程序 微信小程序项目【原】
    git 解决二进制文件冲突
    webpack 打包编译-webkit-box-orient: vertical 后消失
    H5 history.pushState 在微信内修改url后点击用safari打开/复制链接是修改之前的页面
    vue 路由懒加载 使用,优化对比
    jq自定义多选下拉列表框
    System V IPC相关函数
    互斥锁和条件变量(pthread)相关函数
  • 原文地址:https://www.cnblogs.com/analyzer/p/1218987.html
Copyright © 2020-2023  润新知