广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    用python求解简单的数论问题

    来源:网络收集  点击:  时间:2024-07-23
    【导读】:
    简单的数论问题,指的是可以通过枚举法来解答的。在python里面,可以通过for循环实现枚举法。工具/原料more电脑python3+方法/步骤1/6分步阅读

    求不定方程x^2+y^2=1049的所有正整数解。

    2/6

    求解代码很简单:

    forainrange(35):

    forbinrange(a,35):

    ifa**2+b**2==1052:

    print(a,b)

    3/6

    不定方程:

    a^2+b^2+c^2=2018

    其中,a不大于b,b不大于c。

    求满足条件的正整数a、b、c。

    4/6

    在范围上限制后面的变量:

    for a in range(1,45):

    for b in range(a,45):

    for c in range(b,45):

    if a**2+b**2+c**2==2018:

    print(a,b,c)

    5/6

    再试试另一个问题,题目如图所示。

    6/6

    这个问题用枚举法是不行的:

    c =

    for a in range(1,10000):

    for b in range(a+1,10000):

    q = int((a**2+b**2)/(a+b))

    r = int((a**2+b**2)%(a+b))

    if q**2+r==2018:

    print(a,b)

    c.append(a)

    if len(c)==0:

    print(10000以内,满足要求的a和b不存在!)

    注意事项

    第三个问题,需要无限枚举。也就是说,枚举法并不能证明这个问题无解。

    PYTHON
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_992543.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号07-12 16:31:14  耗时:0.901