2018-05-18

2018-05-18  本文已影响0人  BD_1

一、二分法求平方根

输入一个数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个。
###
上一篇下一篇

猜你喜欢

热点阅读