蓝桥杯练习系统试题集(⼀)--⼊门练习(python答案)
BEGIN-1 ⼊门训练 A+B问题
问题描述 输⼊A、B,输出A+B。 说明:在“问题描述”这部分,会给出试题的意思,以及所要求的⽬标。 输⼊格式
输⼊的第⼀⾏包括两个整数,由空格分隔,分别表⽰A、B。 说明:“输⼊格式”是描述在测试你的程序时,所给的输⼊⼀定满⾜的格式。
做题时你应该假设所给的输⼊是⼀定满⾜输⼊格式的要求的,所以你不需要对输⼊的格式进⾏检查。多余的格式检查可能会适得其反,使⽤你的程序错误。
在测试的时候,系统会⾃动将输⼊数据输⼊到你的程序中,你不能给任何提⽰。⽐如,你在输⼊的时候提⽰“请输⼊A、B”之类的话是不需要的,这些多余的输出会使得你的程序被判定为错误。
输出格式 输出⼀⾏,包括⼀个整数,表⽰A+B的值。 说明:“输出格式”是要求你的程序在输出结果的时候必须满⾜的格式。
在输出时,你的程序必须满⾜这个格式的要求,不能少任何内容,也不能多任何内容。如果你的内容和
python编程入门试题
输出格式要求的不⼀样,你的程序会被判断为错误,包括你输出了提⽰信息、中间调试信息、计时或者统计的信息等。
样例输⼊ 12 45 说明:“样例输⼊”给出了⼀组满⾜“输⼊格式”要求的输⼊的例⼦。
这⾥给出的输⼊只是可能⽤来测试你的程序的⼀个输⼊,在测试的时候,还会有更多的输⼊⽤来测试你的程序。
样例输出 57 说明:“样例输出”给出了⼀组满⾜“输出格式”要求的输出的例⼦。
样例输出中的结果是和样例输⼊中的是对应的,因此,你可以使⽤样例的输⼊输出简单的检查你的程序。
要特别指出的是,能够通过样例输⼊输出的程序并不⼀定是正确的程序,在测试的时候,会⽤很多组数据进⾏测试,⽽不局限于样例数据。有可能⼀个程序通过了样例数据,但测试的时候仍只能得0分,可能因为这个程序只在⼀些类似样例的特例中正确,⽽不具有通⽤性,再测试更多数据时会出现错误。
⽐如,对于本题,如果你写⼀个程序不管输⼊是什么都输⼊57,则样例数据是对的,但是测试其他数据,哪怕输⼊是1和2,这个程序也输出57,则对于其他数据这个程序都不正确。
数据规模与约定
-10000 <= A, B <= 10000。 说明:“数据规模与约定”中给出了试题中主要参数的范围。
这个范围对于解题⾮常重要,不同的数据范围会导致试题需要使⽤不同的解法来解决。⽐如本题中给的A、B范围不⼤,可以使⽤整型(int)来保存,如果范围更⼤,超过int的范围,则要考虑其他⽅法来保存⼤数。
有⼀些范围在⽅便的时候是在“问题描述”中直接给的,所以在做题时不仅要看这个范围,还要注意问题描述。
a=int(input())
b=int(input())
print(a+b)
BEGIN-2 ⼊门训练 序列求和
时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 问题描述 求1+2+3+…+n的值。 输⼊格式
输⼊包括⼀个整数n。 输出格式 输出⼀⾏,包括⼀个整数,表⽰1+2+3+…+n的值。 样例输⼊ 4 样例输出 10 样例输⼊ 100说明:有⼀些试题会给出多组样例输⼊输出以帮助你更好的做题。
⼀般在提交之前所有这些样例都需要测试通过才⾏,但这不代表这⼏组样例数据都正确了你的程序就是完全正确的,潜在的错误可能仍然导致你的得分较低。
样例输出 5050 数据规模与约定 1 <= n <= 1,000,000,000。 说明:请注意这⾥的数据规模。
本题直接的想法是直接使⽤⼀个循环来累加,然⽽,当数据规模很⼤时,这种“暴⼒”的⽅法往往会导致超时。此时你需要想想其他⽅法。你可以试⼀试,如果使⽤1000000000作为你的程序的输⼊,你的程序是不是能在规定的上⾯规定的时限内运⾏出来。
本题另⼀个要值得注意的地⽅是答案的⼤⼩不在你的语⾔默认的整型(int)范围内,如果使⽤整型来保存结果,会导致结果错误。
如果你使⽤C++或C语⾔⽽且准备使⽤printf输出结果,则你的格式字符串应该写成%I64d以输出long long类型的整数。
n=int(input())
print(int((1+n)*(n/2)))
BEGIN-3 ⼊门训练 圆的⾯积
时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 问题描述 给定圆的半径r,求圆的⾯积。 输⼊格式
输⼊包含⼀个整数r,表⽰圆的半径。 输出格式 输出⼀⾏,包含⼀个实数,四舍五⼊保留⼩数点后7位,表⽰圆的⾯积。
说明:在本题中,输⼊是⼀个整数,但是输出是⼀个实数。
对于实数输出的问题,请⼀定看清楚实数输出的要求,⽐如本题中要求保留⼩数点后7位,则你的程序必须严格的输出7位⼩数,输出过多或者过少的⼩数位数都是不⾏的,都会被认为错误。
实数输出的问题如果没有特别说明,舍⼊都是按四舍五⼊进⾏。
样例输⼊ 4 样例输出
50.2654825 数据规模与约定 1 <= r <= 10000。 提⽰ 本题对精度要求较⾼,请注意π的值应该取较精确的值。你可以使⽤常量
来表⽰π,⽐如PI=3.14159265358979323,也可以使⽤数学公式来求π,⽐如PI=atan(1.0)*4。
import math
r=int(input())
print(round(math.pi*r**2,7))
BEGIN-4 ⼊门训练 Fibonacci数列
时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 问题描述
Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。
当n⽐较⼤时,Fn也⾮常⼤,现在我们想知道,Fn除以10007的余数是多少。
输⼊格式 输⼊包含⼀个整数n。 输出格式 输出⼀⾏,包含⼀个整数,表⽰Fn除以10007的余数。
说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,⽽不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往⽐先算出原数再取余简单。
样例输⼊ 10 样例输出 55 样例输⼊ 22 样例输出 7704 数据规模与约定 1 <= n <= 1,000,000。
n=int(input())
a,ft=0,1
while n>1:
a,ft,n=ft,ft+a,n-1
print(ft%10007)