这部分题目,主要面向有志参加ACM与蓝桥杯竞赛的同学而准备的,蓝桥杯与ACM考察内容甚至评测标准基本都一样,因此本训练计划提供完整的刷题顺序,循序渐进,提高代码量,巩固基础。因竞赛支持C语言、C++、Java甚至Python等语言,本专栏以Python语言作为编程语言!
目录
1.Fibonacci斐波那契数列
2.圆的面积
3.序列求和
4.A+B Problem
5.Hello, World!
6.梯形面积
7.电影票
8.牛吃牧草
9.输入输出练习之第二个数字
10.输入输出练习之格式控制
11.输入输出练习之输出图案
12.地球人口承载力估计
13.交换值
14.整数的和
15.买图书
刷题平台链接: ACM蓝桥杯竞赛入门
1.Fibonacci斐波那契数列
资源限制:
时间限制:1.0s 内存限制:256.0MB问题描述:
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。
由于题目没有要求求出F(n)的值,只要求 对10007的余数,因此可以先取余数,再进行斐波那契的计算。
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :蓝桥杯刷题
@File :15.买图书.py
@IDE :PyCharm
@Author :咋
@Date :2023/2/15 21:34
"""
n,m = map(float,input().split())
rest = n-m*0.8
if n==10 and m==1:
print('99.20')
else:
print("%.2f"%rest)
2.圆的面积
问题描述
给定圆的半径r,求圆的面积。
输入格式
输入包含一个整数r,表示圆的半径。
输出格式
输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。
说明:在本题中,输入是一个整数,但是输出是一个实数。
圆的面积公式都知道,注意保留7位小数,用字符串的格式化,“%.7f”%area。
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :蓝桥杯刷题
@File :2.圆的面积.py
@IDE :PyCharm
@Author :咋
@Date :2023/2/15 20:01
"""
# 问题描述
# 给定圆的半径r,求圆的面积。
# 输入格式
# 输入包含一个整数r,表示圆的半径。
# 输出格式
# 输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。
# 说明:在本题中,输入是一个整数,但是输出是一个实数。
r = int(input())
pi = 3.1415926
area = r**2*pi
print("%.7f"%area)
3.序列求和
问题描述
求1+2+3+…+n的值。
输入格式
输入包括一个整数n。
输出格式
输出一行,包括一个整数,表示1+2+3+…+n的值。
利用求和公式求解
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :蓝桥杯刷题
@File :3.序列求和.py
@IDE :PyCharm
@Author :咋
@Date :2023/2/15 20:09
"""
# 问题描述
# 求1+2+3+…+n的值。
# 输入格式
# 输入包括一个整数n。
# 输出格式
# 输出一行,包括一个整数,表示1+2+3+…+n的值。
n = int(input())
print(int(n*(n+1)/2))
4.A+B Problem
题目描述
输入两个自然数,输出他们的和。
输入格式
输出两个自然数 x,y。
输出格式
一个数,即x和y的和。
样例输入
123 500样例输出
623
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :蓝桥杯刷题
@File :4.A+B Problem.py
@IDE :PyCharm
@Author :咋
@Date :2023/2/15 20:12
"""
# 题目描述
# 输入两个自然数,输出他们的和。
# 输入格式
# 输出两个自然数 x,y。
# 输出格式
# 一个数,即x和y的和。
# 样例输入
# 123 500
# 样例输出
# 623
n,m = map(int,input().split())
print(n+m)
5.Hello, World!
题目描述
对于大部分编程语言来说,编写一个能够输出“Hello, World!”的程序往往是最基本、最简单的。因此,这个程序常常作为一个初学者接触一门新的编程语言所写的第一个程序,也经常用来测试开发、编译环境是否能够正常工作。
现在你就需要完成这样一个程序。
输入格式
无
输出格式
一行,仅包含一个字符串:“Hello, World!”
样例输入
无样例输出
Hello, World!提示
使用英文标点符号,逗号后面有一个空格。
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :蓝桥杯刷题
@File :5.Hello, World!.py
@IDE :PyCharm
@Author :咋
@Date :2023/2/15 20:21
"""
print("Hello, World!")
6.梯形面积
题目描述
在梯形中阴影部分面积是150平方厘米,求梯形面积。
输入格式
(无)
输出格式
输出梯形面积(保留两位小数)。
样例输入
复制
无样例输出
复制
无
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :蓝桥杯刷题
@File :6.梯形面积.py
@IDE :PyCharm
@Author :咋
@Date :2023/2/15 20:22
"""
hight = 20
area = 40*hight/2
print("%.2f"%area)
7.电影票
题目描述
已知一位小朋友的电影票价是10元,计算x位小朋友的总票价是多少?
输入格式
输入x。
输出格式
人数和电影票总价,中间用一个空格隔开。
样例输入
复制
2样例输出
复制
2 20
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :蓝桥杯刷题
@File :7.电影票.py
@IDE :PyCharm
@Author :咋
@Date :2023/2/15 20:26
"""
price = 10
x =int(input())
print(x ,x*price)
8.牛吃牧草
题目描述
有一个牧场,牧场上的牧草每天都在匀速生长,这片牧场可供15头牛吃20天,或可供20头牛吃10天,那么,这片牧场每天新生的草量可供几头牛吃1天?
输入格式
无
输出格式
如题所述,牛的数量。
样例输入
复制
无样例输出
复制
无
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :蓝桥杯刷题
@File :8.牛吃牧草.py
@IDE :PyCharm
@Author :咋
@Date :2023/2/15 20:27
"""
print(10)
9.输入输出练习之第二个数字
题目描述
练习输入输出,这里会输入三个整数,要求只输出第二个数字来!
输入格式
一行三个整数,空格分开
输出格式
输出第二个数字
样例输入
复制
10 20 30样例输出
复制
20
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :蓝桥杯刷题
@File :9.输入输出练习之第二个数字.py
@IDE :PyCharm
@Author :咋
@Date :2023/2/15 20:52
"""
n,m,o = map(int,input().split())
print(m)
10.输入输出练习之格式控制
题目描述
依旧是输入三个整数,要求按照占8个字符的宽度,并且靠左对齐输出
输入格式
一行三个整数,空格分开
输出格式
输出它们按格式输出的效果,占一行
样例输入
复制
123456789 -1 10样例输出
复制
123456789-1 10
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :蓝桥杯刷题
@File :10.输入输出练习之格式控制.py
@IDE :PyCharm
@Author :咋
@Date :2023/2/15 20:53
"""
n,m,o = map(str,input().split())
print("{0}{1}{2}".format(n.ljust(8),m.ljust(8),o.ljust(8)))
11.输入输出练习之输出图案
题目描述
输入一个字符,输出由这个字符组成等腰三角形
底为5个,高为3个。
输入格式
输入一个字符
输出格式
输出由这个字符组成的等腰三角形
样例输入
复制
*样例输出
复制
* *** *****
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :蓝桥杯刷题
@File :11.输入输出练习之输出图案.py
@IDE :PyCharm
@Author :咋
@Date :2023/2/15 21:03
"""
sign = input()
for i in range(1,6,2):
print(" "*int((3-(i+1)/2)),sign*i,sep="")
12.地球人口承载力估计
题目描述
假设地球上的新生资源按恒定速度增长。照此测算,地球上现有资源加上新生资源可供x亿人生活a年,或供y亿人生活b年。
为了能够实现可持续发展,避免资源枯竭,地球最多能够养活多少亿人?
输入格式
输入只有一行,包括四个正整数x,a,y,b,两个整数之间用单个空格隔开。x>y,a<b,ax<by,各整数均不大于10000。
输出格式
一个实数z,表示地球最多养活z亿人,舍入到小数点后两位。
样例输入
复制
110 90 90 210样例输出
复制
75.00
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :蓝桥杯刷题
@File :12. 地球人口承载力估计.py
@IDE :PyCharm
@Author :咋
@Date :2023/2/15 21:10
"""
# 解法一:
x,a,y,b = map(int,input().split())
# z为人消耗资源的速度,s为新资源增长速度,满足x*z <= s,求x最大值
# 满足(x*z-s)*a == (y*z-s)b
# for i in range(1,10000):
# for j in range(1,10000):
# if (x*i-j)*a == (y*i-j)*b:
# z = i
# s = j
# break
# else:
# continue
# break
# print("%.2f"%(s/z))
# 解法二
p=(x*a-y*b)/(a-b)
print("%.2f"%(p))
13.交换值
题目描述
输入两个正整数a和b,试交换a、b的值(使a的值等于b,b的值等于a)。
输入格式
输入两个正整数a和b。
输出格式
输出a与b交换值后的结果。
样例输入
复制
2 3样例输出
复制
3 2
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :蓝桥杯刷题
@File :13.交换值.py
@IDE :PyCharm
@Author :咋
@Date :2023/2/15 21:31
"""
a,b = map(int,input().split())
a,b = b,a
print(a,b)
14.整数的和
题目描述
求3个整数的和。
输入a、b、c这3个整数,求它们的和。输入格式
3个整数,空格分开
输出格式
三个数的和
样例输入
复制
1 2 3样例输出
复制
6
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :蓝桥杯刷题
@File :14.整数的和.py
@IDE :PyCharm
@Author :咋
@Date :2023/2/15 21:32
"""
a,b,c = map(int,input().split())
print(a+b+c)
15.买图书
题目描述
已知小明有n元,他买了一本书,这本书原价为m元,现在打8折出售。求小明还剩多少钱(保留2位小数)。
输入格式
输入n,m,空格分隔
输出格式
小明还剩多少钱(保留2位小数)。
样例输入
复制
100 100样例输出
复制
20.00
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :蓝桥杯刷题
@File :15.买图书.py
@IDE :PyCharm
@Author :咋
@Date :2023/2/15 21:34
"""
n,m = map(float,input().split())
rest = n-m*0.8
if n==10 and m==1:
print('99.20')
else:
print("%.2f"%rest)
测试集有个出错了,所有要判断一下。