当前位置:网站首页>7-7 7003 combination lock (PTA program design)
7-7 7003 combination lock (PTA program design)
2022-07-06 13:56:00 【Programming Lindaiyu】
Now school begins on a weekday . Their dormitory is locked with a password ( See figure ) lock . He knows that the password is three logarithm , Such as 36-23-12, At the same time, know the method of unlocking . Its method :
(1) First turn clockwise for two turns .
(2) Turn counterclockwise to the position of the first number .
(3) Turn counterclockwise .
(4) Rotate clockwise to the second number .
(5) The pointer turns counterclockwise to the third number .
Know the initial position and password of the pointer , Ask how many degrees to unlock .

Input format :
There are multiple sets of data , Each group of data contains four numbers , Namely n,fisrt,middle,last, Are less than 40(n Is the starting position ) Greater than 0 Of . When the input is “0 0 0 0” when , end .
Output format :
Output the degree of rotation .
sample input :
0 30 0 30
5 35 5 35
0 20 0 20
7 27 7 27
0 10 0 10
9 19 9 19
0 0 0 0
sample output :
1350
1350
1620
1620
1890
1890
Code (Python):
d=[] # A list for storing results
n,first,middle,last=map(int,input().split())
def func(first,last): # Set function , Used to calculate degrees
if first<=last: # There are two cases , If the initial position is small , Normal minus
return (last-first)*9 #9 Is the degree represented by each scale
else: # If the initial position is large , It means that I passed 0 scale , You can't reduce it directly
return (40-first+last)*9 # First use 40 Subtract the end scale , Plus the initial scale is the total scale , multiply 9 Convert to degrees
while 1:
if n==0 and first==0 and middle==0 and last==0: # When the input is “0 0 0 0” when , end
break
else: # Otherwise, the input is not “0 0 0 0” when , Start calculating
res=0 #res It is the result of the number of each group
res+=720 #(1) First turn clockwise for two turns .
res+=func(first,n) #(2) Turn counterclockwise to the position of the first number . Anticlockwise, use the end to subtract the beginning
res+=360 #(3) Turn counterclockwise .
res+=func(first,middle) #(4) Rotate clockwise to the second number . Clockwise, use the beginning minus the end
res+=func(last,middle) #(5) The pointer turns counterclockwise to the third number . Anticlockwise, use the end to subtract the beginning
d.append(res) # Store the results of the calculation of each group in the list , So that they can be output together
n,first,middle,last=map(int,input().split()) # Continue to enter in order to enter the next cycle
for i in range(len(d)): # Output results
print(d[i])When I first saw this problem, I thought it was very difficult , Because it looks complicated . But I still tried it , It's not difficult to find , Is the most basic mathematical knowledge , There is no hard Algorithm . therefore , When you come across a seemingly difficult problem , And don't give up , Try to do it , To analyze , Maybe it's not very difficult , Or maybe it's really a little difficult , But how do you know if you will not try , What if you make it yourself ? So don't set limits on yourself , Try boldly , To challenge .
The above program gives more detailed comments , For novice Xiaobai's reference . The idea of program design or code implementation is not optimal , You are welcome to correct your mistakes or give better ideas .
I am a rookie who wants to be Kunpeng , Everyone's encouragement is my driving force , Welcome to like collection comments !
边栏推荐
- Using qcommonstyle to draw custom form parts
- [the Nine Yang Manual] 2020 Fudan University Applied Statistics real problem + analysis
- MySQL事务及实现原理全面总结,再也不用担心面试
- [modern Chinese history] Chapter V test
- 仿牛客技术博客项目常见问题及解答(一)
- Record a penetration of the cat shed from outside to inside. Library operation extraction flag
- 3. Input and output functions (printf, scanf, getchar and putchar)
- Simply understand the promise of ES6
- 【Numpy和Pytorch的数据处理】
- Principles, advantages and disadvantages of two persistence mechanisms RDB and AOF of redis
猜你喜欢

Mixlab unbounded community white paper officially released

【VMware异常问题】问题分析&解决办法

Package bedding of components

UGUI—Text

Poker game program - man machine confrontation

QT meta object qmetaobject indexofslot and other functions to obtain class methods attention

Custom RPC project - frequently asked questions and explanations (Registration Center)
![[面試時]——我如何講清楚TCP實現可靠傳輸的機制](/img/d6/109042b77de2f3cfbf866b24e89a45.png)
[面試時]——我如何講清楚TCP實現可靠傳輸的機制

1143_ SiCp learning notes_ Tree recursion

深度强化文献阅读系列(一):Courier routing and assignment for food delivery service using reinforcement learning
随机推荐
实验六 继承和多态
Analysis of penetration test learning and actual combat stage
【MySQL数据库的学习】
强化学习基础记录
[modern Chinese history] Chapter V test
Reinforcement learning series (I): basic principles and concepts
Experiment 9 input and output stream (excerpt)
Mixlab unbounded community white paper officially released
A comprehensive summary of MySQL transactions and implementation principles, and no longer have to worry about interviews
[VMware abnormal problems] problem analysis & Solutions
透彻理解LRU算法——详解力扣146题及Redis中LRU缓存淘汰
7-8 7104 约瑟夫问题(PTA程序设计)
7-7 7003 组合锁(PTA程序设计)
抽象类和接口的区别
渗透测试学习与实战阶段分析
[three paradigms of database] you can understand it at a glance
稻 城 亚 丁
[面试时]——我如何讲清楚TCP实现可靠传输的机制
[the Nine Yang Manual] 2021 Fudan University Applied Statistics real problem + analysis
撲克牌遊戲程序——人機對抗