动物园里有15只tiger,15只fox,分成了10组,3只动物/组。18只动物说自己那组有老虎,18只动物说自己那组没有狐狸。老虎永远说真话,狐狸永远说假话。问3只老虎的有几组,3只狐狸的有几组?如果这种情况怎么用程序做出计算尽量能写出思路原因。
5 回答
已采纳
asd8532
TA贡献143条经验 获得超187个赞
设几个变量
x: 都是老虎的组数
y:都是狐狸的组数
z:既有狐狸又有老虎的组数
z1:既有狐狸又有老虎的组数里,老虎的个数
z2:既有狐狸又有老虎的组数里,狐狸的个数
列公式如下:
3*x + 3*y + z1 + z2 = 30 #30只动物
3*x + 3*y + z1 = 18 #当问有老虎时回答有的动物数
3*x + 3*y + z2 = 18 #当问有狐狸时回答没有的动物数
3*x + z1 = 15 #一共15只老虎
3*y + z2 = 15 #一共15只狐狸
解出z1=12,z2=12,x=1,y=1所以这个解有1个。
x=1,y=1,z=8
zzylove
TA贡献9条经验 获得超1个赞
第一句话,如果是狐狸说的,说明一直老虎都没只有狐狸,如果老虎来说,自己本身就是老虎,恒成立。那么18只动物中减去15只tiger说的就剩下3只狐狸啊,那3只狐狸的就只有1组;
同理,3只老虎也只有1组啊。
程序做出计算是要模拟这个过程,还是只是求值呢
求值我觉得就是:(说自己那组有老虎的数目-tiger数)/3=3只狐狸的组数
3只老虎的组数同理
是不是我的想法太肤浅啊(;°○° )
添加回答
举报
0/150
提交
取消