Tất cả các giải pháp đã được thử nghiệm thành công vào ngày 18 tháng 4 năm 2013.
make_bricks:
def make_bricks[small, big, goal]: return goal%5 >= 0 and goal%5 - small = goal
lone_sum:
def lone_sum[a, b, c]: if a == b == c: return 0 if b == c: return a if a == c: return b if a == b: return c return a + b + c
lucky_sum:
def lucky_sum[a, b, c]: if a == 13: return 0 if b == 13: return a if c == 13: return a + b return a + b + c
no_teen_sum:
def no_teen_sum[a, b, c]: return fix_teen[a] + fix_teen[b] + fix_teen[c] def fix_teen[n]: #if 13 = maxBig: if small >= [goal - maxBig * 5]: return goal - maxBig * 5 if big < maxBig: if small >= [goal - big * 5]: return goal - big * 5 return -1
defround10 [num]:
Trả lại [Num+5]/10*10
returnRound10 [a]+vòng10 [b]+vòng 10 [c]
defclose_far [a, b, c]: make_bricks[small, big, goal]: | |
"" " | |
Đối với vấn đề này, chúng tôi sẽ làm tròn giá trị INT lên đến bội số tiếp theo của 10 nếu | |
chữ số ngoài cùng bên phải của nó là 5 trở lên, vì vậy 15 vòng lên đến 20. Thay thế, tròn | |
xuống bội số trước của 10 nếu chữ số ngoài cùng bên phải của nó nhỏ hơn 5, | |
Vì vậy, 12 vòng xuống đến 10. Cho 3 ints, a b c, trả lại tổng số của chúng tròn | |
"" " | |
resto=goal = goal | |
giá trị. Để tránh sự lặp lại của mã, hãy viết một người trợ giúp riêng "def vòng10 [num]:" -= 5*min[big,goal/5] | |
returnresto-small resto-small =2] and \ | |
forninlist [: list.index [13]]:abs[abs[b]-abs[a]]=2] \ | |
defno_teen_sum [a, b, c]: [abs[abs[c]-abs[a]]=2]] |