PHP经典算法百钱买小鸡】的更多相关文章

遇到一道有趣的题,并计算2种方法的效率,发现如果穷举所有组合竟高达1000000次排列~所以简化到了600次.所以,你的一个条件,或者一个运算,可能会提高几千倍的效率! <?php header("Content-Type:text/html;charset=utf-8"); //百钱买小鸡 /* 公鸡5文钱1只,母鸡三文钱一只,小鸡一文钱三只. 现在用100文钱共买了100只鸡, 问这100只鸡中,公鸡,母鸡,小鸡各是多少只? */ $start = microtime(tru…
怎样用一百块买一百只鸡?已知公鸡5块一只,母鸡3块一只,小鸡一块钱3只: 需要用到for循环嵌套,并且通过优化代码,可以加快运行效率. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>百钱买百鸡</title> </head> <body> <p>怎样用一百块买一百只鸡…
百钱买百鸡 关注公众号"轻松学编程"了解更多. 现有100钱,公鸡5文钱一只,母鸡3文钱一只,小鸡一文钱3只 要求:公鸡.母鸡,小鸡都要有,把100文钱花完,买的鸡的数量正好是100. 问:一共能买多少只公鸡,多少只母鸡,多少只小鸡? 穷举法: 方案一: 思路: 第一重循环公鸡从1只循环到100只 第二重循环母鸡从1只循环到100只 第三重循环小鸡从1只循环到100只 然后进行判断: 数量:公鸡+母鸡+小鸡 =100 钱:公鸡5+母鸡3+小鸡 =100 输出满足条件的情况 代码如下:…
/* * 百钱买百鸡问题 * * 我国古代数学家张丘建在<算经>一书中曾提出过著名的“百钱买百鸡”问题,该问题叙述如下:鸡翁一,值钱五:鸡母一,值钱三:鸡雏三,值钱一:百钱买百鸡,则翁.母.雏各几何? * 翻译过来,意思是公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡.母鸡.小鸡各多少只? * * 思路就是吧数学公式翻译成计算机代码,大多数列方程求职的都可以使用此类方法,主要是要判断参数的取值范围 * * 设公鸡x只 一只5块钱,母鸡y只 一只3块钱,小鸡z…
解决百钱买鸡问题原本并不困难,关键的是这道题对其进行了升级,测试数据太大,传统的解法,像三重循环,二重循环都会导致超时. 这道题正确的解法应该是结合数学方程进行化简,将其转化为1层循环: x+y+z=n ax+by+c/d*z=m 由上述两个方程联立可用其他量表示出y来.从而只需要枚举x就能解决该题. 在求方程之后注意要化简,只有能整除的时候才进行整除.最后与m比较的时候因为c/d的问题,所以等式两边同时乘以d以消除误差. 最后千万不要加上z%d==0的条件,因为例如当3元买12小鸡的时候,实际…
//百钱买百鸡public class baiqianbaiji { static void BQBJ(int m,int n)//m为钱的总数,n为鸡数 { int z; for(int x = 0;x <= n;x++){ for(int y = 0;y <= n; y++){ z = n- x - y; if(z >= 0 && z % 3 == 0 && m == x * 5 + y * 3 + z / 3) System.out.printf(&…
题目:公鸡3文钱,母鸡2文钱,3只小鸡1文钱,百钱买百鸡,求多少公鸡,母鸡,小鸡? public class Work6{ public static void main(String[] args){ // 声明变量公鸡 int gj; // 声明变量母鸡 int mj; // 声明变量小鸡 int xj; // 公鸡最多买(100/3)33只 for(gj = 0;gj <=33;gj++){ // 母鸡最多买50 for(mj = 0;mj <=50;mj++){ // 小鸡最多买300…
题目描述: 元前五世纪,我国古代数学家张丘建在<算经>一书中提出了“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一. 百钱买百鸡,问鸡翁.鸡母.鸡雏各几何? 思路: 这道题很简单,假设鸡翁 i 只, 鸡母 j 只, 则有 i + j + k = 100 5*i + 3*j + k/3 = 100 由以上两个等式我们可以推出: j = 25 - i * 7/4 ; k = 75 + i * 3/4 ; 由于i. j. k 必须是0或正整数,所以 i 必须是4的倍数,因此我们下面的程序中也是…
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApp100鸡 { class Program { static void Main(string[] args) { Console.WriteLine("用百元钱买百只鸡,公鸡每只5元,母鸡每只3元,小鸡1元3只~那么它们各是几只?"); ; ; a <= max / ;…
public class 百元买百鸡 { public static void main(String[] args) { //母鸡 for (int i = 1; i < 33; i++) {//公鸡 for (int j = 1; j < 20; j++) {//小鸡 for (int k = 1; k <300; k++) { if (i*3+j*5+k/3==100&&i+j+k==100&&k%3==0) { System.out.println…