一、二分法求平方根
輸入一個數(shù)x,計算它的平方根。
思路:
當(dāng)x>1時,
如果猜的??^2<??,則正確的平方根在y和x之間
如果猜的??^2>?? ,則正確的平方根在0和y之間
當(dāng)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("請輸入一個數(shù):"))
print("它的平方根是:"+str(gen(x)))
二、循環(huán)素數(shù)
數(shù)字197可以被稱為循環(huán)素數(shù),因為197的三個數(shù)位循環(huán)移位后的數(shù)字:197,971,719均為素數(shù)。N=100以內(nèi)這樣的數(shù)字包括13個,2,3,5,7,11,13,17,31,37,71,73,79,97。
編程求解:給定任意正整數(shù)N,在它以內(nèi)一共有多少個這樣的循環(huán)素數(shù)。
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("請輸入一個數(shù):"))
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) + "以內(nèi)的循環(huán)素數(shù)有" + str(a) + "個。")
###
輸入100
輸出
2
3
5
7
11
13
17
31
37
71
73
79
97
100以內(nèi)的循環(huán)素數(shù)有13個。
###