找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 4219|回复: 6

[求助] -100到100之间的二元一次方程的整数表达式

2

主题

6

帖子

6

积分

贫民

积分
6
pzw1985 发表于 2017-6-24 09:14:36 | 显示全部楼层 |阅读模式
请问:
  1. #! /usr/bin/env python3
  2. # -*- coding: utf-8 -*-

  3. # 求-100到100之间,ax^2 + bx + c = 0整数解的方程式

  4. import math
  5. for a in range(-100, 100):
  6.     for b in range(-100, 100):
  7.         for c in range(-100, 100):
  8.             if math.sqrt(b*b-4*a*c) < 0:
  9.                 break
  10.             for x in range(-100, 100):
  11.                 if x == (-b + math.sqrt(b*b-4*a*c))/(2*a):
  12.                     print(a,b,c,x)
复制代码
运行提示
if math.sqrt(b*b-4*a*c) < 0:
ValueError: math domain error

为什么啊,已经判断平方根不能是负数了

我这样写循环有问题吗?
谢谢!
回复

使用道具 举报

2

主题

6

帖子

6

积分

贫民

积分
6
pzw1985  楼主| 发表于 2017-6-24 09:18:33 | 显示全部楼层
知道为什么了
回复 支持 反对

使用道具 举报

30

主题

116

帖子

116

积分

侠客

积分
116
chenmengdan 发表于 2017-6-24 09:18:49 | 显示全部楼层
难道不应该是判断b*b-4*a*c < 0 吗
回复 支持 反对

使用道具 举报

2

主题

6

帖子

6

积分

贫民

积分
6
pzw1985  楼主| 发表于 2017-6-24 09:44:08 | 显示全部楼层
新的代码:
  1. #! /usr/bin/env python3
  2. # -*- coding: utf-8 -*-

  3. # 求-100到100之间,ax^2 + bx + c = 0整数解的方程式

  4. import math

  5. for a in range(-100, 100):
  6.     for b in range(-100, 100):
  7.         for c in range(-100, 100):
  8.             if (b * b - 4 * a * c) < 0 or a == 0:
  9.                 break
  10.             for x in range(-100, 100):
  11.                 if x == 0 or x == -1 or x == 1:
  12.                     break
  13.                 if x == (-b + math.sqrt(b * b - 4 * a * c)) / (2 * a) or x == (
  14.                     -b - math.sqrt(b * b - 4 * a * c)) / (2 * a):
  15.                     print(a, b, c, x)
复制代码
回复 支持 反对

使用道具 举报

2

主题

12

帖子

12

积分

贫民

积分
12
hz_oracle 发表于 2017-6-25 17:10:40 | 显示全部楼层
不明白,你这个式子不是一元二次吗?
回复 支持 反对

使用道具 举报

2

主题

6

帖子

6

积分

贫民

积分
6
pzw1985  楼主| 发表于 2017-7-13 17:23:37 | 显示全部楼层
hz_oracle 发表于 2017-6-25 17:10
不明白,你这个式子不是一元二次吗?

哈哈,见笑了,说错了
回复 支持 反对

使用道具 举报

1

主题

25

帖子

25

积分

贫民

积分
25
陈继塬 发表于 2017-7-14 00:57:46 | 显示全部楼层
你输出一个X,X不会有两个解吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

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