鱼C论坛

 找回密码
 立即注册
查看: 2742|回复: 6

[已解决]python课后题

[复制链接]
发表于 2020-12-10 21:37:52 From FishC Mobile | 显示全部楼层 |阅读模式
50鱼币
求答案 2020-12-10_21.36.47.jpg
最佳答案
2020-12-10 21:37:53
=====第5题
def check(a,b,c):
      if (b**2)*(c**2)+(a**2)*(c**2) == (a**2)*(b**2):  # 转换算式,浮点数计算验证会出错
            return True
      else:
            return False

print('A\tB\tC')
for a in range(1,100):
      for b in range(1,100):
            for c in range(1,100):
                  if a > b and b >c and a+b+c<100:
                        if check(a,b,c):
                              print(a,'\t',b,'\t',c)

最佳答案

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-10 21:37:53 | 显示全部楼层    本楼为最佳答案   
=====第5题
def check(a,b,c):
      if (b**2)*(c**2)+(a**2)*(c**2) == (a**2)*(b**2):  # 转换算式,浮点数计算验证会出错
            return True
      else:
            return False

print('A\tB\tC')
for a in range(1,100):
      for b in range(1,100):
            for c in range(1,100):
                  if a > b and b >c and a+b+c<100:
                        if check(a,b,c):
                              print(a,'\t',b,'\t',c)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-11 10:36:57 | 显示全部楼层
这么点悬赏给你做高等数学题?太天真了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-11 11:09:44 | 显示全部楼层
=======第1题
def supersum(n):
      result = 0
      for i in range(1,n+1):
            if i % 2 == 0:
                  x,y = i/2,i**3
            else:
                  x,y = i,i**2
            result += x - (y**2)
      return result

print('请输入一个正整数:',end='')
while True:
      temp = input()
      try:
            temp = int(temp.replace(' ','')) # 去掉空格后是否可为整数
      except:
            print('您的输入有误,请重新输入:',end='')
            continue
      if temp < 1:
            print('您的输入有误,请重新输入:',end='')
            continue
      else:
            break
result = supersum(temp)
print(result)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-11 11:45:44 | 显示全部楼层
=======第2题
def sum2(n):
      s = 0
      if n == 1:
            s = 1
      else:
            for i in range(1,n):
                  s += 1/i
      return s

i = 1       # 从1开始枚举,因为计算结果越来越大,所以只需要比较大于8的数和小于8的数谁更接近
while True:
      if sum2(i) > 8:
            temp = min((sum2(i)-8),(8-sum2(i-1)))
            if temp > 8:
                  n,s = i,sum2(i)
            else:
                  n,s = i-1,sum2(i-1)
            break
      i += 1
print('n:%d,s:%.6f' % (i,s))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-11 12:00:28 | 显示全部楼层
=====第3题
def factor(n):
      temp = []
      for i in range(1,n+1):
            if n % i == 0:
                  temp.append(i)
      print(temp)
      if len(temp) % 2 != 0:
            return n
      else:
            return 0

result = []
for i in range(100,0,-1):
      temp = factor(i)
      if temp != 0:
            result.append(i)
print('共有%d个,最大的整数是%d' % (len(result),result[0]))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-11 12:50:26 | 显示全部楼层
=====第4题
def isprime(n):
      if n <=1:
            return False
      for i in range(2,n): # 素数从2开始,不包括自身
            if n % i == 0:
                  return False
      else:
            return True

result = []
for i in range(1,22):
      if isprime(2**i-1):
            result.append(i)
print('共有%d个,最小的整数是%d,最大的整数是%d' % (len(result),result[0],result[-1]))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-17 03:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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