zoukankan      html  css  js  c++  java
  • Python3经典100道练习题003

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

    方法:利用循环去判断x+100和x+268是否为完全平方数,没用使用其他函数,缺点运算速度慢

     1 x=-100
     2 while x<=2000:
     3     y=x+100
     4     z=x+268
     5     p=0
     6     q=0
     7     if y==1:
     8         p=1     
     9     else:
    10         for i in range(1,int(y/2)):
    11             if i**2==y:
    12                 p=1
    13                 continue
    14         
    15         
    16     if z==1:
    17         q=1
    18     else:
    19         for i in range(1,int(z/2)):
    20              if i**2==z:
    21                  q=1
    22                  continue
    23 
    24     
    25     if p==1 and q==1:
    26         print(x)
    27             
    28     x=x+1       

    【网上好办法】

    方法一:

    1 t = []
    2 for m in range(168):
    3     for n in range(m):
    4         if m**2 - n**2 == 168:
    5             x = n**2 - 100
    6             t.append(x)
    7 print('符合条件的整数有:',t )

    方法二:

    1 x=[]
    2 for m in range(-168,169):
    3     for n in range(-168,169):
    4         if (m+n)*(m-n)==168:#m,n都是整数
    5             x.append(n**2-100)
    6 x=set(x)#用集合的方法去掉重复值
    7 x=list(x)#将集合类型改为列表类型
    8 print('要求的值为:',x)

    方法三:

    1 print([n**2-100 for m in range(168) for n in range(m) if(m+n)*(m-n)==168])
  • 相关阅读:
    生成按月递增循环日期
    js判断上传图片宽高及文件大小
    网页上如何实现禁止复制粘贴以及如何破解
    PAT(乙级)1019
    PAT(乙级)1018
    PAT(乙级)1017
    PAT(乙级)1016
    PAT(乙级)1015
    关于PAT(乙级)
    PAT(乙级)1014
  • 原文地址:https://www.cnblogs.com/mathpro/p/7953013.html
Copyright © 2011-2022 走看看