百钱白鸡(for循环的练习)

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>

<body>
</body>
</html>
<script>
    //    百钱百鸡   公鸡2文,母鸡1文,小鸡半文,每种至少一只,100文买100只鸡有多少可能性
// 写条件gj*2 + mj*1 + xj*0.5 == 100  && gj+mj+xj=100
    var num = 0;
    for(var gj = 1 ; gj <= 50 ; gj++){
        for(var mj = 1 ;mj <= 100 ; mj++){
            for(var xj = 1 ; xj <=200 ;xj++){
                if(gj*2 + mj*1 + xj*0.5 == 100  && gj+mj+xj ==100){
                    console.log("公鸡"+gj+"只,母鸡"+mj+"只,小鸡"+xj+"只");
                    num ++;
                }
            }
        }
    }
    console.log("总共有"+num+"种可能性");
</script>

原文地址:https://www.cnblogs.com/lsqbk/p/10259005.html

时间: 2024-10-06 19:28:50

百钱白鸡(for循环的练习)的相关文章

C语言百钱白鸡问题

问题描述:中国古代数学家张丘建在他的<算经>中提出了一个著名的“百钱白鸡问题”:一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现在要用百钱买百鸡,请问公鸡.母鸡.小鸡各多少只? 问题分析:我们将公鸡.母鸡.小鸡对应的变量分别设为cock.hen.chicken,则有chicken必定为三的倍数.同时满足cock+hen+chicken=100,并且满足5*cock+3*hen+chicken/3=100.本题我们需要用循环结构来进行穷举.需要三重循环,对cock循环,对hen的循环,对chi

Craps赌博游戏、百钱白鸡、七星彩选号、抓小偷、21根火柴、10000以内完美数

Craps赌博游戏 游戏规则:同时扔两颗骰子,第一次扔出的点数数7或则11玩家胜,扔出2.3或则12庄家胜利,否则继续扔骰子. 以后只要扔出和第一次相同的点数玩家胜,扔出7庄家胜. 玩家每次进入有1000的筹码,输完游戏结束! 1 public static void gambleGame() { 2 int a = 0; 3 int money = 1000; 4 for (int j = 0;; j++) { 5 if (money > 0) { 6 System.out.println(&qu

百钱白鸡问题

伪代码描述:for(int x=0;x<=100;x++){ for(int y=0;y<=100-x;j++) z=100-x-y; if(z%3==0){ if(5*3+3*y+z/3==100){ then(x,y,z) is solution; } } }

SDUST 软件工程2016-作业4-A 百钱买鸡问题

解决百钱买鸡问题原本并不困难,关键的是这道题对其进行了升级,测试数据太大,传统的解法,像三重循环,二重循环都会导致超时. 这道题正确的解法应该是结合数学方程进行化简,将其转化为1层循环: x+y+z=n ax+by+c/d*z=m 由上述两个方程联立可用其他量表示出y来.从而只需要枚举x就能解决该题. 在求方程之后注意要化简,只有能整除的时候才进行整除.最后与m比较的时候因为c/d的问题,所以等式两边同时乘以d以消除误差. 最后千万不要加上z%d==0的条件,因为例如当3元买12小鸡的时候,实际

0002_百钱买鸡

百钱买鸡:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱? 思路:设定公鸡,母鸡,小鸡各买x,y,z只,则满足下列条件: x+y+z=100; 5x+3y+z/3=100: 1 __author__ = 'qq593' 2 # /usr/bin/python 3 # -*- coding:utf-8 -*- 4 5 #x is the unknown number 6 for y in ra

Java实现百钱买百鸡

1.问题描述 今有鸡翁一,值钱伍:鸡母一,值钱三:鸡鶵三,值钱一.凡百钱买鸡百只,问鸡翁.母.鶵各几何?答曰:鸡翁四,值钱二十:鸡母十八,值钱五十四:鸡鶵七十八,值钱二十六.又答:鸡翁八,值钱四十:鸡 母十一,值钱三十三,鸡鶵八十一,值钱二十七.又答:鸡翁十二,值钱六十:鸡母四.值钱十二:鸡鶵八十 四,值钱二十八." 2.实现源码 /** * @Title:HundredHen.java * @Package:com.you.hen * @Description:百钱买百鸡 * @author:

3. 百钱买白鸡问题

这是一个古老而非常经典的问题,最早源自中国古代的算经,中国古代数学家张丘建在他的算经中提出了著名的百钱买白鸡的问题: 鸡翁1, 值钱5,鸡母1,值钱3,鸡雏3值钱1,百钱买白鸡,问翁,母,雏各几何? 100文钱买100只鸡,公鸡5文钱一只,母鸡3文一只,小鸡3只1文钱:100文钱买了100只鸡,请问公鸡,母鸡,小鸡各有多少? #include <stdio.h> #include <stdlib.h> int main() {     int i,j,k;     for(i=0;

1. while循环(当循环) 2. do{}while()循环 3. switch cose(多选一) 例子:当选循环下求百鸡百钱 用 switch cose人机剪刀石头布

1. while循环: 当选循环下求百鸡百钱:如下: 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><me

for循环语句之棋盘放粮食、百鸡百钱、纸张的折叠问题

1.棋盘放粮食 int lszl = 1; for (int i = 1; i < 30; i++) { int x = 1; for (int j = 1; j <= i; j++) { x = x * 2; } lszl = lszl + x; } double zl = lszl * 0.001; Console.WriteLine("放满整个棋盘所需要:" + zl + "kg的粮食"); 2.百鸡百钱 for (int i = 1; i <