鱼C论坛

 找回密码
 立即注册
查看: 4517|回复: 8

最近看到微信朋友圈里的图片

[复制链接]
发表于 2017-11-5 14:18:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
最近在微信群里会看到这张图片


我觉得蛮有意思的,然后用python自己编了一下。。。
然后发现不管怎么算都算不出来。。。

我就反反复复的想,我这逻辑是没有问题的,肯定是这道题的问题。
然后我上网去搜了一下答案。。
全是浮点数欸!搞毛啊,作为一个新手。这。。有点难了吧。。

附上自己写的代码和这道题的答案
>>> class Count:

    def __init__(self,num1=0,num2=0,num3=0,num4=0):
        self.num1 = num1
        self.num2 = num2
        self.num3 = num3
        self.num4 = num4

    def count(self):
        each_1 = 3.5
        self.num1 = each_1
        if ((13 - each_1) - 6) == (8 - (8 - each_1)):
            self.num4 = (13 - each_1) - 6
        if (8 - each_1) == (8 - (13 - each_1 - 6)) and (8 - 8 + 8 - each_1):
            self.num2 = 8 - each_1
        if (13 - each_1) == (6 + (13 - each_1 - 6)) and (6 + 8 - 8 + each_1):
            self.num3 = 13 - each_1
        if self.num1 + self.num2==8 and self.num1 + self.num3 ==13 and self.num2 + self.num4 ==8 and self.num3 - self.num4 == 6:
            print('第一个是%.1f第二个是%.1f第三个是%.1f第四个是%.1f'% (self.num1,self.num2,self.num3,self.num4))

>>> c =Count()
>>> c.count()
第一个是3.5第二个是4.5第三个是9.5第四个是3.5
>>> 

有办法完善的鱼油们可以在发布自己的代码哦!
WeChat 圖片_20171105141224.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-5 14:32:50 | 显示全部楼层
我觉得,这个不需要编程吧。。。
观察一下,就发现,有两个等于8的,说明有两个空是一个数
那么一共三个未知数,设为x, y, z
写出等式
x + y = 8
x + z = 13
z - x = 6

这么简单的三元一次方程组初中就能解了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-6 09:56:10 | 显示全部楼层
BngThea 发表于 2017-11-5 14:32
我觉得,这个不需要编程吧。。。
观察一下,就发现,有两个等于8的,说明有两个空是一个数
那么一共三个 ...

这个。。我刚上初二啊。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-6 10:05:17 | 显示全部楼层
Ar1n0 发表于 2017-11-6 09:56
这个。。我刚上初二啊。。

所以,学好数学吧,数学是编程中最重要的一环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-6 13:49:09 | 显示全部楼层
BngThea 发表于 2017-11-6 10:05
所以,学好数学吧,数学是编程中最重要的一环

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

使用道具 举报

发表于 2017-11-7 09:40:47 | 显示全部楼层
口算就出来了,还编毛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-7 13:03:03 | 显示全部楼层
新手试回答,找不到浮点数历遍循环,用最笨办法来解决!
def Float():
    float_list = []     #生成浮点数,放到一个列表中
    for i in range(14): #依题目可知最大不会超过13
        i += 1
        for j in range(10):
            k = str(i)+'.'+str(j) #整型转换成字符串
            j += 1
            float_list.append(float(k))
    return float_list #返回一个浮点数列表
f  = Float()
#依题有两个数相加都等于8,因此四个未知数中有两个是一样的,
# 故设i,j,k,g=i进行历遍循环
for i in f:
    for j in f:
        for k in f:
            if i + j == 8 and i + k ==13 and k - i ==6:
                print(i,j,k)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-13 06:15:09 | 显示全部楼层
Jackmok 发表于 2017-11-7 13:03
新手试回答,找不到浮点数历遍循环,用最笨办法来解决!

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

使用道具 举报

发表于 2019-5-12 02:09:32 | 显示全部楼层
楼主才初二就学用python求解多元一次方程组(虽然楼主这题很简单一秒看出,但假如科学计算、泛化而谈即多元一次方程组,把其中的8,6,13,8改成n位小数后则不能一秒看出),孺子可教也,请继续努力。
我们上到大学有一门课叫做数值分析,利用计算机算法编程求解方程、n元n次方程组、微积分、常微分方程、偏微分方程等。
这是我大学时的求解线性方程组的java程序
https://share.weiyun.com/5cbcnUB
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-11 13:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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