Python “最短”挑戰(12.27)
阿新 • • 發佈:2018-12-30
Description
給定一個度數D,如果某一秒鐘表上的三個指標兩兩相差的度數都不小於D的話,就稱這一秒是好的,請你求一天(24小時)中一共有多少時間是好的。
Input
每行一個整數D,輸入-1表示結束。
Output
好秒數佔一天時間的比例,保留小數點後三位。
其餘要求同首題。
Sample Input
0
120
90
-1
Sample Output
100.000
0.000
6.255
Reference code
def degree(hand,hour,minute,second):
if hand==0: return second* 6
if hand==1: return minute*6+second/10
if hand==2: return hour*30+(second+minute*60)/120
def fabs(x):
if x<0:
x=-x
if x>180:
x=360-x
return x
while True:
d=int(input())
if d==-1:
break
t=0
for h in range(12):
for m in range(60):
for s in range(60):
d1=fabs(degree(0,h,m,s)-degree(1,h,m,s))
d2=fabs(degree(0,h,m,s)-degree(2,h,m,s))
d3=fabs(degree(1,h,m,s)-degree(2,h,m,s))
if d1>=d and d2>=d and d3>=d:
t+=1
print('%.3f'%(t/432))