Python实现获取前100组勾股数的方法示例

日期: 2019-12-06 15:28 浏览次数 :

本文实例陈述了Python完毕获取前100组勾股数的艺术。分享给大家供大家参谋,具体如下:

本文实例汇报了Python完毕求解一元二遍方程的点子。分享给我们供我们仿效,具体如下:

正文实例陈说了Python线性方程组求解运算。分享给大家供大家参照他事他说加以考查,具体如下:

当然想使用穷举试探的办法来做那个算法,后来发掘照旧有一点麻烦。从网络上找来了生龙活虎种求解方法如下:

  1. 引入math

  2. 概念再次来到的对象

  3. 判断b*b-4ac的大小

求解线性方程组比较容易,只须求接收二个函数(scipy.linalg.solve卡塔尔就足以了。比方大家供给之下方程的解,那是三个非齐次线性方程组:

当a为超越1的奇数2n+1时,b=2n^2+2n,c=2n^2+2n+1。实际上正是把a的平方数拆成多个接二连三自然数。

实际测算代码如下:

3x_1 + x_2 - 2x_3 = 5

编写代码如下:

# -*- coding:utf-8 -*-
#! python2
import math
class Result:
  result1 = 0
  result2 = 0
  def __init__(self, r1, r2):
    self.result1 = r1
    self.result2 = r2
  def __return__(self):
    return Result(self.result1, self.result2)
def main(a, b, c):
  num = b*b-4*a*c
  if num < 0:
    return 'no result'
  elif num == 0:
    return Result((-b+math.sqrt(num))/(2*a), (-b+math.sqrt(num))/(2*a))
  else:
    return Result((-b+math.sqrt(num))/(2*a), (-b-math.sqrt(num))/(2*a))
if __name__ == '__main__':
  result = main(1, 2, 1)
  print result.result1, result.result2

x_1 - x_2 + 4x_3 = -2

#!/usr/bin/python
for n in range(1,101):
 a = 2 * n +1
 b = 2 * (n** 2) + 2 * n
 c = b + 1
 # check theresult
 if a ** 2 +b ** 2 == c ** 2:
  print("a= %d, b = %d, c = %d" %(a,b,c))

运营结果:

2x_1 + 3x_3 = 2.5

程序实施结果:

-1.0 -1.0

代码如下: