Python——PTA函数编程题

第6章函数-1 使用函数求特殊a串数列和

给定两个均不超过9的正整数a和n,要求编写函数fn(a,n) 求a+aa+aaa++⋯+aa⋯aa(n个a)之和,fn须返回的是数列和。
在这里插入图片描述
在这里插入图片描述

def fn(a,n):
    return(sum([int(str(a)*i)for i in range(1,n+1)]))
a,b=input().split()
s=fn(int(a),int(b))
print(s)

第6章函数-2 使用函数求素数和

使用函数求素数和

prime§, 其中函数prime当用户传入参数p为素数时返回True,否则返回False.
PrimeSum(m,n),函数PrimeSum返回区间[m, n]内所有素数的和。题目保证用户传入的参数1<=m<n。
在这里插入图片描述
在这里插入图片描述

def isPrime(num):
    num=int(num)
    for i in range(2,num):
        if num%i==0 :
            return False
    if(num!=1):
        return True
def PrimeSum(a,b):
    sum=0
    for i in range(a,b+1):
        if isPrime(i):
            sum+=i
    return sum
m,n=input().split()
m=int(m)
n=int(n)
print(PrimeSum(m,n))

第6章函数-3 使用函数统计指定数字的个数

本题要求实现一个统计整数中指定数字的个数的简单函数。

CountDigit(number,digit )

其中number是整数,digit为[1, 9]区间内的整数。函数CountDigit应返回number中digit出现的次数。
在这里插入图片描述
在这里插入图片描述

def fib(n):
    if(n==0)or(n==1):
        return 1
    else:
        return fib(n-1)+fib(n-2)
def PrintFN(m,n):
    a=[]
    for i in range(25):
        if m<=fib(i)<=n:
            a.append(fib(i))
    return a
m,n,i=input().split()
n=int(n)
m=int(m)
i=int(i)
b=fib(i)
print("fib({0}) = {1}".format(i,b))
fiblist=PrintFN(m,n)
print(len(fiblist))

第6章函数-4 使用函数输出指定范围内Fibonacci数的个数

本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m<n≤100000)之间的所有Fibonacci数的数目。
所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列,fib(0)=fib(1)=1。其中函数fib(n)须返回第n项Fibonacci数;函数PrintFN(m,n)用列表返回[m, n]中的所有Fibonacci数。
在这里插入图片描述
在这里插入图片描述

def fib(n):
    if(n==0)or(n==1):
        return 1
    else:
        return fib(n-1)+fib(n-2)
def PrintFN(m,n):
    a=[]
    for i in range(25):
        if m<=fib(i)<=n:
            a.append(fib(i))
    return a
m,n,i=input().split()
n=int(n)
m=int(m)
i=int(i)
b=fib(i)
print("fib({0}) = {1}".format(i,b))
fiblist=PrintFN(m,n)
print(len(fiblist))

PTA习题答案记录

猜你喜欢

转载自blog.csdn.net/qq_63294590/article/details/124077130