鱼C论坛

 找回密码
 立即注册
楼主: 鱼C-小师妹

[技术交流] 00 - 百钱百鸡【师妹小讲堂】

[复制链接]
发表于 2021-8-10 00:44:30 | 显示全部楼层
这不是和小学的鸡兔同笼问题差不多嘛,然后初中学了一下,然后原题5x+3y+z/3=100==>15x+9y+z=300  然后x+y+z=100,两个式子减一下14x+8y=200同分7x+4y=100,y=25时刚好,y=25,x=0。之后重复y-7,x+4,靠while循环打印结果。
这种东西发出来会不会被打
QQ图片20210810004039.png

然后改为千钱千鸡,输出
QQ图片20210810004323.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-12 17:39:57 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-15 15:20:43 | 显示全部楼层
看看结果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-19 21:14:11 | 显示全部楼层
for Cock in range(0,21):
        for Hen in range(0,34):
                if Cock*5 + Hen*3 + (100-Cock-Hen)/3 == 100:
                        print(f"Cock=%d, Hen=%d, Chick=%d"%(Cock, Hen, (100-Cock-Hen)))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-25 16:07:10 | 显示全部楼层
单纯用while代码会认不出chicken因为没define,直接改成for循环或者提前定义好三个值才会进行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-31 14:22:51 | 显示全部楼层
klajdkajkllkdjklakjl
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-31 14:28:22 | 显示全部楼层
//c语言版
#include<stdio.h>

int main()
{
        int cock, hen, chicken;
        for(cock=0; cock<=20; cock++){
                for(hen=0; hen<=33; hen++){
                        for(chicken=0; chicken<=100; chicken++){
                                        if(cock+hen+chicken==100 && 5*cock+3*hen+chicken/3==100){
                                printf("%d %d %d\n", cock, hen, chicken);
                        }
                        }
               
                }
        }
       
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-31 14:52:12 | 显示全部楼层
#include<stdio.h>

int main()
{
        int cock, hen, chicken;
        for(cock=0; cock<=20; cock++){
                for(hen=0; hen<=33; hen++){
                        chicken=100-cock-hen; //公鸡和母鸡的数量确认之后就可以直接确认小鸡的数量 
                                        if(cock+hen+chicken==100 && 15*cock+9*hen+chicken==300){
                                printf("%d %d %d\n", cock, hen, chicken);
                        }
                
                }
        }
        
        return 0;
 } 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-5 22:37:39 | 显示全部楼层
0 25
4 18
8 11
12 4
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-5 22:39:04 | 显示全部楼层
cock=0
while cock<=20:
    hen=0
    while hen<=33:
         if(5*cock+3*hen+(100-cock-hen)/3.0==100)and(cock+hen+(100-cock-hen)==100):
            print("公鸡数量为{},母鸡数量为{},小鸡数量为{}.".format(cock,hen,(100-cock-hen)))
         hen+=1
    cock+=1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-14 10:22:59 | 显示全部楼层
本帖最后由 bravsheng 于 2021-10-14 10:52 编辑

喜欢小师妹的讲堂!

for cock in range(0,21):
    for hen in range(0,34):
        for chicken in range(0,101):
            if (5*cock + 3*hen + chicken/3 == 100) and (cock+hen+chicken == 100):
                print("公鸡={},母鸡={},小鸡={}".format(cock,hen,chicken))

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-14 11:03:12 | 显示全部楼层
本帖最后由 bravsheng 于 2021-10-14 11:17 编辑
zttwm 发表于 2021-8-10 00:44
这不是和小学的鸡兔同笼问题差不多嘛,然后初中学了一下,然后原题5x+3y+z/3=100==>15x+9y+z=30 ...


你这个厉害了,真简洁,运行效率最高!
不过你这个是自己先进行了归纳运算了,不是完全的机算。
下面的这个是怎么得来的? 是根据整除原理嘛?
y-=7
x+=4

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-17 18:43:50 | 显示全部楼层
本帖最后由 傻眼貓咪 于 2021-10-17 18:50 编辑

[print(f"{i}只公鸡,{j}只母鸡,{k}只小鸡") for i in range(100) for j in range(100) for k in range(100) if i*5 + j*3 + (k/3) == i + j + k == 100]
0只公鸡,25只母鸡,75只小鸡
4只公鸡,18只母鸡,78只小鸡
8只公鸡,11只母鸡,81只小鸡
12只公鸡,4只母鸡,84只小鸡
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-17 19:24:34 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-20 16:13:27 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-21 13:20:00 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-28 17:13:15 | 显示全部楼层
看看看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-19 20:13:37 | 显示全部楼层
厉害厉害
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-21 15:05:48 | 显示全部楼层
本帖最后由 thinkay 于 2021-12-21 15:10 编辑

cock = 0
hen = 0
chicken = 0
for cock in range(21):
    for hen in range(34):
        for chicken in range(101):
            if cock * 5 + hen * 3 + chicken / 3 ==100 and cock + hen + chicken == 100:
                print("公鸡有", cock, "只", "母鸡有", hen, "只", "小鸡有", chicken, "只")



有(写了串奇怪的代码,但是有莫名其妙的运行了…)这样的感觉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-22 21:24:01 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 10:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表