QQ登录

只需一步,快速开始

搜索
鱼C论坛笔记大赛成绩公示
查看: 102|回复: 10

求高手解答

[复制链接]
最佳答案
0 
累计签到:17 天
连续签到:1 天
发表于 2017-9-12 19:06:44 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

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

x
问题描述如下:
  课后练习009中出现如下问题
在输出100到999之间的水仙花数,要求该数等于其各个位的立方和如:153=1^3+5^3+3^3
我的程序如下:
temp=[]
for i in range(100,1000):
    a=(i/100)
    b=(i%100)/10
    c=i%10
    d=a**3+b**3+c**3
    if i==d:
        temp.append()
        print(temp)
运行后什么也得不到,哪里出错了

题目:一个整数,它加上100后是一个完全平方数,再加上268又是一个完全平方数,请问该数是多少?
我的程序如下:
for i in range(10000):
    x=int(i+100)
    y=int(i+268)
    if(x==(i*i)) and (y==(i*i)):
        print(i)
这两个问题一样
求高人解答哦!!!!!!
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
22 
累计签到:342 天
连续签到:90 天
发表于 2017-9-12 19:47:24 | 显示全部楼层
错的地方太多了实在,没办法说
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
443 
累计签到:110 天
连续签到:107 天
发表于 2017-9-12 20:06:19 | 显示全部楼层
  1. temp=[]
  2. for i in range(100,1000):
  3.     a=i%10 #个位
  4.     b=(i//10)%10 #十位
  5.     c=(i//10//10)%10 #百位
  6.     d=c**3+b**3+a**3
  7.     if i==d:
  8.         temp.append(i)

  9. print(temp)
复制代码

  1. import math

  2. for i in range(10000):
  3.     x = int(math.sqrt(i+100))
  4.     y = int(math.sqrt(i+268))
  5.     if(x*x==i+100) and (y*y==i+268):
  6.         print(i)
复制代码
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:17 天
连续签到:1 天
 楼主| 发表于 2017-9-13 08:08:59 | 显示全部楼层
本帖最后由 pillar 于 2017-9-13 08:31 编辑


尴尬了,第一题把//写成了‘/’,谢谢解答!

第二题
for i in range(10000):
    if(i**2==(i+100)) and (i**2==(i+268)):
        print(i)
这样写我想知道错在了哪里?
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
4 
累计签到:102 天
连续签到:3 天
发表于 2017-9-13 09:42:24 | 显示全部楼层
第二题的错误在+100和+268是两个不同的数(可能都不是i)的平方,而不是像你写的都是i的平方
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
443 
累计签到:110 天
连续签到:107 天
发表于 2017-9-13 09:46:16 | 显示全部楼层
pillar 发表于 2017-9-13 08:08
尴尬了,第一题把//写成了‘/’,谢谢解答!

第二题

一个整数,它加上100后是一个完全平方数,再加上268又是一个完全平方数,请问该数是多少?

你对题意是否已经了解。题意是这个数 i + 100, i + 268 都是完全平方数。
按照解,假设这个数是21:
21+100 = 121 = 11 * 11 ; 21 + 268 = 289 = 17 * 17  
你说对不对
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
2 
累计签到:1 天
连续签到:1 天
发表于 2017-9-13 10:01:46 | 显示全部楼层
楼主你已经脱离题意了,题目是i+100和i+268是完全平方数,也就是开根------a**2等于(i+100)和b**2等于(i+268),你的是i的平方等于i+100和i的平方等于i+268,and是指两个函数都为true才输出,如果两个函数都为true,i输出多少呢,两个函数i的输出值不一样啊!
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 

尚未签到

发表于 2017-9-13 11:42:07 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:17 天
连续签到:1 天
 楼主| 发表于 2017-9-13 16:15:44 | 显示全部楼层
BngThea 发表于 2017-9-13 09:42
第二题的错误在+100和+268是两个不同的数(可能都不是i)的平方,而不是像你写的都是i的平方

好的明白了,谢谢!
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 

尚未签到

发表于 2017-9-13 16:16:33 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
4 
累计签到:2 天
连续签到:2 天
发表于 2017-9-13 16:28:35 | 显示全部楼层
temp=[]
for i in range(100,1000):
    a=(i/100)
    b=(i%100)/10
    c=i%10
    d=a**3+b**3+c**3
    if i==d:
        temp.append()
        print(temp)
你要往列表里append()什么内容? append(i) 内容不能漏



问题描述如下:
  课后练习009中出现如下问题
在输出100到999之间的水仙花数,要求该数等于其各个位的立方和如:153=1^3+5^3+3^3
我的程序如下:
temp=[]
for i in range(100,1000):
    a=(i/100)
    b=(i%100)/10
    c=i%10
    d=a**3+b**3+c**3
    if i==d:
        temp.append()
        print(temp)
运行后什么也得不到,哪里出错了

题目:一个整数,它加上100后是一个完全平方数,再加上268又是一个完全平方数,请问该数是多少?
我的程序如下:
for i in range(10000):
    x=int(i+100)
    y=int(i+268)
    if(x==(i*i)) and (y==(i*i)):
        print(i)
这道题目,你题意是否理解错误,不应该是 type((i+100)**0.5) == int 这样判断么?
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐上一条 /1 下一条

小黑屋手机版Archiver( 粤公网安备 44051102000370号 | 粤ICP备11014136号

© 2010-2017 FishC.com GMT+8, 2017-9-26 19:06 Powered by Discuz! X2.5 Theme by dreambred

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