| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5844 人关注过本帖
标题:蛮力法如何求鸡和兔的个数
只看楼主 加入收藏
yang158
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2019-3-12
结帖率:16.67%
收藏
 问题点数:0 回复次数:5 
蛮力法如何求鸡和兔的个数
有一群鸡和一群兔,它们的只数相同,它们的脚数都是三位数,且这两个三位数的数字分别是0,1,2,3,4,5。设计一个算法用蛮力法求鸡和兔各有多少只,?它们的脚数各是多少
搜索更多相关主题的帖子:  个数 相同 多少 位数 
2020-04-19 19:19
fulltimelink
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:7
帖 子:171
专家分:752
注 册:2020-4-1
收藏
得分:0 
102/2=51可知只数>=51
542/4=135可知只数<=135
循环只数从51到135 计算鸡脚数A和兔脚数B   
判断A*1000+B是否有重复数字即可
2020-05-23 23:30
qrezhy
Rank: 1
等 级:新手上路
帖 子:9
专家分:5
注 册:2019-3-30
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
2021-04-30 14:15
傻眼猫咪
Rank: 2
等 级:论坛游民
威 望:1
帖 子:38
专家分:85
注 册:2021-8-2
收藏
得分:0 
程序代码:
from itertools import permutations
feet = permutations([0, 1, 2, 3, 4, 5], 3)
feet = list(set([int(''.join([str(j) for j in i])) for i in feet if len(i) == 3 and i[0] != 0]))
for chicken in feet:
    for rabbit in feet:
        if chicken*2 == rabbit and (chicken%2 == 0):
            if len(set(str(chicken))^set(str(rabbit))) == 6:
                print(f"雞 {chicken>>1} 只,{chicken} 只腳\n兔 {rabbit>>2} 只,{rabbit } 只腳")

輸出:
76 只,152 只腳
兔 76 只,304 只腳




[此贴子已经被作者于2021-8-29 00:25编辑过]

2021-08-29 00:24
diycai
Rank: 8Rank: 8
等 级:贵宾
威 望:19
帖 子:147
专家分:895
注 册:2021-5-18
收藏
得分:0 
回复 4楼 傻眼猫咪

void main()
{
    int i, j, k;
    int v1, v2, tmp;

    for (i=1; i<3; i++)
    {
        for (j=0; j<6; j++)
        {
            for (k=0; k<6; k++)
            {
                v1 = i*100 + j*10 + k;
                v2 = v1*2;
                tmp = (1<<i) | (1<<j) | (1<<k);
                tmp |= (1<<(v2/100)) | (1<<((v2/10)%10)) | (1<<(v2%10));

                if ((v1 & 1)==0 && tmp==0x3F)
                {
                    printf("%d %d\n", v1, v2);
                }
            }
        }
    }
}

[此贴子已经被作者于2021-9-9 16:55编辑过]

2021-09-09 16:39
mrexcel
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:126
专家分:480
注 册:2022-11-3
收藏
得分:0 
for chick in range(102,255,2):
    rabbit=2*chick
    if all((str(chick)+str(rabbit)).count(d) for  d in "012345"):
        print(f"鸡 {chick//2} 只,{chick} 只脚;兔 {rabbit//4} 只,{rabbit} 只脚")


[此贴子已经被作者于2022-12-17 22:13编辑过]

2022-12-17 22:10
快速回复:蛮力法如何求鸡和兔的个数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018721 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved