1、输出N以内的所有素数
描述:编程找出N(即小于等于N)的所有素数。
输入:输入一个正整数
输出:在同一行中从小到大依次输出不大于n的全部素数,每个数字后面一个空格。
示例:
输入:97
输出:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
python
def is_prime(n):
"""判断素数的函数,接收一个正整数为参数,参数是素数时返回True,否则返回False
减小判定区间,减少循环次数,提升效率"""
if n < 2:
return False # 0、1、负数以及偶数都不是素数
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0: # 能被2到其n-1之间的数整除的数不是素数
return False
else:
return True # for循环正常结束,未遇到return的数是素数
def output_prime(number):
"""接收一个正整数为参数,遍历从0到number之间的所有整数
在一行中输出不大于number的所有素数,函数无返回值"""
for i in range(number + 1): # 遍历小于n的整数
if is_prime(i): # i为素数时输出i
print(i, end=' ') # 输出后不换行,空格分隔输出
positive_int = int(input()) # 输入一个正整数
output_prime(positive_int) # 调用无返回值函数,不需要用print()
2、斐波纳契数列
描述:求斐波纳契(Fibonacci)数列:1, 1, 2, 3, 5, 8... 的前n项,n的值从键盘输入。
输入:"10"
输出:"1,1,2,3,5,8,13,21,34,55"
注意:
(1)输入使用 input(),不要增加额外的提示信息;
(2)输出使用 print(),不要增加额外的输出信息;
(3)Python中input函数返回值是字符串, 可以使用 int(input()) 或 eval(input()) 来进行转换。
python
def f(n):
if n==1 or n==2:
return 1
else:
return f(n-1)+f(n-2)
m=eval(input())
s=""
for i in range(1,m+1):
s+="{},".format(f(i))
print(s[:-1])