一、二分法求平方根
输入一个数x,计算它的平方根。
思路:
当x>1时,
如果猜的𝑦^2<𝑥,则正确的平方根在y和x之间
如果猜的𝑦^2>𝑥 ,则正确的平方根在0和y之间
当x<1时,。。。
ERROR = 1e-6
def gen(x):
left = 0
right = x
y = (left+right)/2
print("y=",y)
while abs(y**2-x)>ERROR:
if y**2 <x:
left = y
else:
right = y
print("left=" + str(left) + "," + str(right))
y = (left+right)/2
return y
x = int(input("请输入一个数:"))
print("它的平方根是:"+str(gen(x)))
二、循环素数
数字197可以被称为循环素数,因为197的三个数位循环移位后的数字:197,971,719均为素数。N=100以内这样的数字包括13个,2,3,5,7,11,13,17,31,37,71,73,79,97。
编程求解:给定任意正整数N,在它以内一共有多少个这样的循环素数。
def sushu(x):
for i in range(2,x):
if x%i == 0:
return False
return True
def reverse1(y):
return y[::-1]
shuzi = int(input("请输入一个数:"))
a = 0
for j in range(2,shuzi):
if sushu(j) == True and sushu(int(reverse1(str(j)))) == True:
print(j)
a += 1
print(str(shuzi) + "以内的循环素数有" + str(a) + "个。")
###
输入100
输出
2
3
5
7
11
13
17
31
37
71
73
79
97
100以内的循环素数有13个。
###