蓝桥杯(第一天)
T1
题目:最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三角函数基本功。所以他准备和奶牛们做一个“Sine之舞”的游戏,寓教于乐,提高奶牛们的计算能力。不妨设An=sin(1–sin(2+sin(3–sin(4+…sin(n))…),Sn=(…(A1+n)A2+n-1)A3+…+2)An+1,FJ想让奶牛们计算Sn的值,请你帮助FJ打印出Sn的完整表达式,以方便奶牛们做题。
解题思路:
import math
def A(n):
flag=1
while n>0:
if (-1)**n ==1:
symbol = '+'
else:
symbol = '-'
if flag==1:
stra= 'sin'+'('+str(n)+')'
flag=0
else:
stra = 'sin' + '(' + str(n) + symbol + stra + ')'
n-=1
return stra
def S(n):
i,flag=n,1
while i>0:
if flag==1:
strs =str(A(n-i+1))+'+'+str(i)
flag=0
else:
strs = '('+strs+')'+ str(A(n - i + 1)) + '+' + str(i)
i-=1
print(strs)
num=int(input())
S(num)
T2
题目:平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。
解题思路:首先判断矩形是否相交,接着计算面积。如下图,相交形成的矩形等横纵坐标有一定的规律。该矩形的两个横坐标是四个横坐标中除最大值和最小值的剩余两个横坐标的值,同理纵坐标也如此。
r1 = list(map(float,input().split()))
r2 = list(map(float,input().split()))
rx = min(max(r1[0],r1[2]),max(r2[0],r2[2]))
lx = max(min(r1[0],r1[2]),min(r2[0],r2[2]))
uy = min(max(r1[1],r1[3]),max(r2[1],r2[3]))
dy = max(min(r1[1],r1[3]),min(r2[1],r2[3]))
w,h = rx-lx,uy-dy
if w<=0.0 or h<=0.00:
print("0.00")
else:
print("%.2f"%(w*h))`
T3
题目:求出区间[a,b]中所有整数的质因数分解。提示:先筛出所有素数,然后再分解。数据规模和约定2< =a< =b< =10000
解题思路: