一.前言
我上大一时接触到程序设计基础这门课,这门课有时会有实验,我便常常摸鱼,利用CSDN来做,
虽然有时搜不到,但每次搜到时我想:爽!!!
于是我也开始写,写下我们这个时期的答案与青春
二.实验与答案
寻找回文素数
回文素数是指一个数既是素数又是回文数。例如,131,既是素数又是回文数。
本程序共有三个函数:is_Prime(),HuiWen()和main()。第一个函数用以判断一个数是否是素数,是则返回True,否则返回False;第二个函数用以判断一个串是否为回文串,是则返回True,否则返回False。main()函数完成从键盘输入一个整数,调用前面两个函数,用以判断是否是回文素数。
【程序要求:】根据前面的提示,补齐程序,并运行程序,将运行结果和程序拍照上传。。
【注】此题可能会用到的知识:(1) s=’abc’,其逆序字符串的表示为 s[-1::-1]
(2) a=123,将其转为字符串形式:str(a)
【程序代码:】
def is_Prime(n):
'''此函数判定n是否为素数,接收一个正整数,参数是素数时返回True,否则返回False'''
if n<2:
return False
for i in range(2,n):
if n%i==0:
return False
return True
def HuiWen(s):
'''此函数判定字符串s是否为回文串,接收一个字符串,参数是回文串时返回True,否则返回False'''
if s==s[::-1]:
return True
else:
return False
def main():
'''从键盘接收一个正整数num,判定num是素数,且转为字符串后是回文数,
则输出是回文素数,否则输出不是回文素数,测试用例为101,121'''
num=int(input("请输入一个数:"))
if is_Prime(num) and HuiWen(str(num)):
print(f"{num}是回文素数")
else:
print(f"{num}不是回文素数")
#主程序
main()
3、用递归方法求数列“1,1,1,3,5,9,17,31,……”的前20项。
程序执行示例:
【提示】观察数列,找出规律。
【程序代码】
def f(n):
if n==1 or n==2 or n==3:
return 1
else:
return f(n-1)+f(n-2)+f(n-3)
#主程序
for i in range(1,20+1):
print("{:>8}".format(f(i)),end=" " if i%5!=0 else "\n")