Python_每日习题_0003_完全平方数
# 题目 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? # 程序分析 因为168对于指数爆炸来说实在太小了,所以可以直接省略数学分析,用最朴素的方法来获取上限: n = 0 while (n+1)**2-n*n<=168: n += 1 print(n+1) # 思路是:最坏的结果是n的平方与(n+1)的平方刚好差168,由于是平方的关系,不可能存在比这更大的间隙。 # 至于判断是否是完全平方数,最简单的方法是:平方根的值小数为0即可。 # 结合起来: n=0 while (n+1)**2-n*n<=168: n+=1 for i in range((n+1)**2): if i**0.5==int(i**0.5) and (i+168)**0.5==int((i+168)**0.5): print(i-100)
# Python 平方根 #
# 平方根,又叫二次方根,表示为〔√ ̄〕,如:数学语言为:√ ̄16=4。语言描述为:根号下16=4。 # # 以下实例为通过用户输入一个数字,并计算这个数字的平方根: # -*- coding: UTF-8 -*- # Filename : test.py # author by : www.runoob.com num = float(input('请输入一个数字: ')) num_sqrt = num ** 0.5 print(' %0.3f 的平方根为 %0.3f' % (num, num_sqrt)) # 执行以上代码输出结果为: # # $ python test.py # 请输入一个数字: 4 # 4.000 的平方根为 2.000 # 在该实例中,我们通过用户输入一个数字,并使用指数运算符 ** 来计算该数的平方根。 # # 该程序只适用于正数。负数和复数可以使用以下的方式: # -*- coding: UTF-8 -*- # Filename : test.py # author by : www.runoob.com # 计算实数和复数平方根 # 导入复数数学模块 import cmath num = int(input("请输入一个数字: ")) num_sqrt = cmath.sqrt(num) print('{0} 的平方根为 {1:0.3f}+{2:0.3f}j'.format(num, num_sqrt.real, num_sqrt.imag)) # 执行以上代码输出结果为: # # $ python test.py # 请输入一个数字: -8 # -8 的平方根为 0.000+2.828j # 该实例中,我们使用了 cmath (complex math) 模块的 sqrt() 方法。
请你一定不要停下来 成为你想成为的人
感谢您的阅读,我是LXL