蓝桥杯Python刷题——入门训练100分评测

1.A+B问题

问题描述
输入A、B,输出A+B。
说明:在“问题描述”这部分,会给出试题的意思,以及所要求的目标。
输入格式
输入的第一行包括两个整数,由空格分隔,分别表示A、B。
说明:“输入格式”是描述在测试你的程序时,所给的输入一定满足的格式。

#encoding:utf-8
def ex1():
    A,B = (input().split())
    A = int(A)
    B = int(B)
    if A>= -10000 and B<=10000:
        return A+B
    else:
        pass

print(ex1())

2.序列求和

问题描述
求1+2+3+…+n的值。
输入格式
输入包括一个整数n。
输出格式
输出一行,包括一个整数,表示1+2+3+…+n的值。

错误示范:用递归方式计算,造成较大数时计算量过大。
蓝桥杯Python刷题——入门训练100分评测_第1张图片

正确答案:用求和公式计算

n=int(input())
print(int((1+n)*(n/2)))

蓝桥杯Python刷题——入门训练100分评测_第2张图片
3.圆的面积

资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
给定圆的半径r,求圆的面积。
输入格式
输入包含一个整数r,表示圆的半径。
输出格式
输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。
说明:在本题中,输入是一个整数,但是输出是一个实数。
对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误。
实数输出的问题如果没有特别说明,舍入都是按四舍五入进行。

#encoding:utf-8
import math
def ex3(r):
    if 1 <= r <= 10000:
        return math.pi * r *r
    else:
        pass

print(format(ex3(int(int(input())*10000000)/10000000),'.7f'))

4.兔子数列问题

问题描述
Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。
当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。
输入格式:
输入包含一个整数n。
输出格式:
输出一行,包含一个整数,表示Fn除以10007的余数。
说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。

错误示范1.运用通项公式计算,再对精确解直接取余数,超出数值范围,计算量过大
蓝桥杯Python刷题——入门训练100分评测_第3张图片
错误示范2.对精确解直接取余数,计算量过大,能运行但超时(能给90分).
蓝桥杯Python刷题——入门训练100分评测_第4张图片
正确答案:

n=int( eval(input()) )
F=0
a=0
b=1
if n==1:
    print(1)
else:
    while n>1:
        F=a+b
        b=b%10007
        a=b
        F=F%10007
        b=F
        n=n-1
    print(F%10007)

你可能感兴趣的:(蓝桥杯,Python,蓝桥杯,python)