目录
一、判断题
二、选择题
三、函数题
6-1 sdut-使用函数求a+aa+aaa++⋯+aa.....aaa(n个a)之和。
6-2 编写函数判断水仙花数
6-3 sdut-使用函数求区域内的素数之和
6-4 兔子繁殖
给定两个均不超过9的正整数a和n,要求:编写函数fn(a,n), 求a+aa+aaa++⋯+aa⋯aa(n个a)之和,fn须返回的是数列之和。
[1, 9]
范围;n 是[1, 9]
区间内的个位数。函数返回数列之和。
/* 请在这里填写答案 */
a,b=input().split()
s=fn(int(a),int(b))
print(s)
def fn(a, n):
r = 0
s=0
for i in range(0, n):
r += a * 10 ** i
s+= r
return s
给定一个三位数n
,要求编写函数isflower(n)
判断n
是否为水仙花数,如果是,则返回True
,否则返回False
。所谓"水仙花数"是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为153等于1的立方加上5的立方加上3的立方之和。
n
是传入的参数,表示需要判断的三位数。 n
的值的范围为[100,999]。/* 请在这里填写答案 */
n = eval(input())
if isflower(n)==True:
print('Yes')
else:
print('No')
def isflower(n):
b=int(n%10)
c=int((n/10)%10)
d=int(n/100)
if(b**3+c**3+d**3==n):
return True
else:
return False
设计函数,求指定范围内的素数之和。 函数1:prime(p), 用户传入参数 兔子繁殖问题。假设有一对新生的兔子,从第三个月开始他们每个月月初都生一对兔子,新生的兔子从第三个月月初开始又每个月又生一对兔子。按此规律,并假定兔子没有死亡,n(n<=20)个月月末共有多少对兔子?p
,若它为素数时返回True,否则返回False. 函数2:PrimeSum(m,n),返回区间[m, n]
内所有素数的和(其 中,1<=m
N
和 D
都是用户传入的参数。 N
的值不超过int
的范围; D
是[0, 9]区间内的个位数。函数须返回 N
中 D
出现的次数。prime(p),返回True表示p是素数,返回False表示p不是素数;
PrimeSum(m,n),函数返回素数之和。
/* 请在这里填写答案 */
m,n=input().split()
m=int(m)
n=int(n)
print(PrimeSum(m,n))
def prime(p):
flag = True;
for i in range(2,p):
if p % i == 0:
flag = False
break
return flag
def PrimeSum(m,n):
sum=0
for p in range(m+1,n+1):
if prime(p):
sum=sum+p
return sum
6-4 兔子繁殖
rabit(n),n为第几个月
裁判测试程序样例:
n=int(input()) print(rabit(n))
def rabit(n):
if n==1 or n==2:
return 1
a=1
b=1
c=2
for i in range(n-2):
a=b
b=c
c=a+b
return b