在 b 站看了个视频北大招生题
北大招生题:a+b+c=1,a²+b²+c²=2,a³+b³+c³=3 求 abc 的值

结果 abc=1/6
除了用数学公式怎么用 python 来解呢?搜了下有个 sympy 的库
from sympy import *
x=Symbol('x')
y=Symbol('y')
z=Symbol('z')
solve([x+y+z-1,x**2+y**2+z**2-2,x**3+y**3+z**3-3],[x,y,z])#这个不行
solve([x+y+z-1,x**2+y**2+z**2-2,x**3+y**3+z**3-3],[x*y*z])
[]
1
jiejiss 2019 年 1 月 19 日 via Android
可能需要先学线性代数,之后用线代那一套去解。
|
2
qwertyegg 2019 年 1 月 21 日
prolog
|
3
necomancer 2019 年 1 月 24 日
黑科技飘过
Mathematica 11.2.0 Kernel for Linux x86 (64-bit) Copyright 1988-2017 Wolfram Research, Inc. In[6]:= Reduce[Exists[{x,y,z},x+y+z==1&&x^2+y^2+z^2==2&&x^3+y^3+z^3==3&&x*y*z==a],a] // ToString Out[6]= 1 a == - 6 …… |
4
necomancer 2019 年 1 月 24 日
空格被和谐掉了……呃(⊙﹏⊙)
|
5
lovestudykid 2019 年 2 月 7 日
DeleteDuplicates[ Table[a*b*c /.Solve[{a + b + c == 1, a^2 + b^2 + c^2 == 2,a^3 + b^3 + c^3 == 3}, {a, b, c}][[i]] // FullSimplify, {i,1,6}]]
Sympy 大概可以用类似这种笨办法,mathematica 是黑科技 |