首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎样才能用同情来声明自然符号呢?

我怎样才能用同情来声明自然符号呢?
EN

Stack Overflow用户
提问于 2014-04-25 19:59:37
回答 1查看 1.4K关注 0票数 4

我知道如何声明整数符号:

代码语言:javascript
复制
from sympy import symbols


a, b, c, m, n = symbols('a b c m n', Integer=True)

但是我希望符号是没有零的自然数(严格正整数)。我该怎么做呢?谢谢

编辑:

如果我计算丢番图方程,它也给出了负解,我只想要正解:

代码语言:javascript
复制
from sympy.solvers.diophantine import diophantine
from sympy import symbols


a, b, c, m, n = symbols('a b c m n', integer=True, positive=True)

a = n ** 2 - m ** 2
b = 2 * n * m
c = n ** 2 + m ** 2

diof = diophantine(n ** 2 + m * n - 500)
print(diof)

{(121,4),(499,-500),(95,-100),(499,1),(-40,-10),(40,-50),(-499,500),(-95,-5),(-40,50),(-95,100),(5,20),(-5,25),(-248,250),(-499,-1),(121,-125),(5,-25),(-121,125),(-5,-20),(-121,-4),(248,-250),(95,5),(-248,-2),(40,10),(248,2)}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-26 21:08:26

关于这件事,我打开了https://github.com/sympy/sympy/issues/7444。同时,你可以用老式的方法过滤解决方案。

代码语言:javascript
复制
>>> {(i, j) for i, j in diof if i > 0 and j > 0}
set([(5, 20), (40, 10), (95, 5), (121, 4), (248, 2), (499, 1)])
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23301941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档