鱼C论坛

 找回密码
 立即注册
查看: 2459|回复: 3

[已解决]求教我的代码哪有问题

[复制链接]
发表于 2021-5-25 08:48:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
给定两个非负整数x和y,如果某一整数等于x^i+y^j,其中整数i>= 0且j>=0,那么我们认为该整数是一个"精致"的数。返回值小于或等于n(n<=200)的所有精致的数组成的列表。

结果列表中每个值最多出现一次,同时请使用sorted保证结果唯一。

  1. x=int(input('x:'))
  2. y=int(input('y:'))
  3. n=int(input('n:'))
  4. i=0;j=0
  5. a=[]
  6. while True:
  7.     if x**i+1>n:
  8.         tupple(a)
  9.         b=sorted(list(a))
  10.         print(b)
  11.         break
  12.     while True:
  13.         if x**i+y**j>n:
  14.             break
  15.         j+=1
  16.         a.append(x**i+y**j)
  17.     i+=1
  18.     j=0
复制代码
最佳答案
2021-5-25 09:39:06
本帖最后由 qq1151985918 于 2021-5-25 10:01 编辑

你那个是个死循环,跳不出来的
对照一下吧
  1. x = int(input('x:'))
  2. y = int(input('y:'))
  3. n = int(input('n:'))

  4. a = []

  5. i = 0
  6. while True:
  7.     j = 0
  8.     while True:
  9.         num = x ** i + y ** j
  10.         if num <= n:
  11.             if num not in a:
  12.                 a.append(num)
  13.                 print(f"{x}^{i} + {y}^{j} = {num}")
  14.         j += 1
  15.         if num > n or j > n:
  16.             break
  17.         
  18.     i += 1
  19.     if x ** i > n or i > n:
  20.         break
  21. print(sorted(a))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-5-25 09:04:21 | 显示全部楼层
tupple已改成tuple还是不行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-25 09:39:06 | 显示全部楼层    本楼为最佳答案   
本帖最后由 qq1151985918 于 2021-5-25 10:01 编辑

你那个是个死循环,跳不出来的
对照一下吧
  1. x = int(input('x:'))
  2. y = int(input('y:'))
  3. n = int(input('n:'))

  4. a = []

  5. i = 0
  6. while True:
  7.     j = 0
  8.     while True:
  9.         num = x ** i + y ** j
  10.         if num <= n:
  11.             if num not in a:
  12.                 a.append(num)
  13.                 print(f"{x}^{i} + {y}^{j} = {num}")
  14.         j += 1
  15.         if num > n or j > n:
  16.             break
  17.         
  18.     i += 1
  19.     if x ** i > n or i > n:
  20.         break
  21. print(sorted(a))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-25 22:13:44 | 显示全部楼层
qq1151985918 发表于 2021-5-25 09:39
你那个是个死循环,跳不出来的
对照一下吧

白天上课有点忙,抱歉现在才回复,谢谢大佬了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-23 09:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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