# 商科友誼賽(12/25)題解 題目比完後會持續放在競賽區不會刪,比完想練到會的可以在上去做 ## :memo: 題解 ### A Hey Jude :::spoiler ```python=1 #程式碼由宜蘭高商提供 #1 n = input() print('Hey '+n) #2 print('Hey '+input()) ``` 第一位解出來的: ::: ### B 簡易加法 :::spoiler ```python=1 #程式碼由宜蘭高商提供 ##1 a,b = input().split() print(int(a)+int(b)) #2 a,b = map(int,input().split()) print(a+b) #3 n = [int(_) for _ in input().split() if _] print(sum(n)) #4 print(sum([int(_) for _ in input().split() if _])) ``` 第一位解出來的: ::: ### C BMI計算 :::spoiler ```python=1 #程式碼由宜蘭高商提供 #1. a = int(input()) b = int(input())/100 print(round(a/(b**2),1)) #2. print(round(int(input())/((int(input())/100)**2),1)) ``` 第一位解出來的: ::: ### D 文文的求婚 :::spoiler ```python=1 #程式碼由宜蘭高商提供 while True: try: n = int(input()) if n % 400 == 0 or (n % 100 != 0 and n % 4 == 0): print('閏年') else: print('平年') except: break from calendar import isleap while True: try: n = int(input()) if isleap(n): print('閏年') else: print('平年') except: break ``` 第一位解出來的: ::: ### E 所有位數和 :::spoiler ```python=1 #程式碼由宜蘭高商提供 #1 while True: try: n = input() ans = 0 for i in n: ans += int(i) print(ans) except: break #3 while True: try: print(sum([int(_) for _ in ' '.join(input()).split(' ') if _])) except: break ``` 第一位解出來的: ::: ### F 重複文字只保留一個 :::spoiler ```python=1 #程式碼由宜蘭高商提供 #1 while 1: try: t=input() s="" for i in t: if i not in s: s+=i print(s) except: break ``` 第一位解出來的: ::: ### G 山六九遊樂園 :::spoiler ```python=1 #程式碼由宜蘭高商提供 n = int(input()) if n >= 6 and n <= 11: print(590) elif n >= 12 and n <= 17: print(790) elif n >= 18 and n <= 59: print(890) elif n >= 60: print(399) else: print(0) ``` 第一位解出來的: ::: ### H 計程車收費 :::spoiler ```python=1 #程式碼由宜蘭高商提供 while True: try: n = eval(input())*10-15 r = 85 if n > 0: r += n //3*5 if n % 3 != 0: r += 5 print(int(r)) except: break ``` 第一位解出來的: ::: ### I 最大公因數 最小公倍數 :::spoiler ```python=1 #程式碼由宜蘭高商提供 from math import gcd for _ in range(int(input())): n = [int(_) for _ in input().split() if _] print(gcd(n[0],n[1]),n[0]*n[1]//gcd(n[0],n[1])) ``` 第一位解出來的: ::: ### J 新手訓練 :::spoiler ```python=1 #程式碼由宜蘭高商提供 for _ in range(int(input())): n = [int(_) for _ in input().split() if _] if n[0] == 1: print(n[1]+n[2]) elif n[0] == 2: print(n[1]-n[2]) elif n[0] == 3: print(n[1]*n[2]) else: print(n[1]//n[2]) ``` 第一位解出來的: ::: ### K 繪製三角形(簡單) :::spoiler ```python=1 #程式碼由宜蘭高商提供 #1 n = int(input()) for i in range(1,n+1): print('*'*i) #2 for i in range(1,int(input())+1): print('*'*i) ``` 第一位解出來的: ::: ### L 繪製三角形(困難) :::spoiler ```python=1 #程式碼由宜蘭高商提供 #1 n = int(input())-1 for i in range(n+1): print('_'*(n-i)+'*'*i+'*'+'*'*i+'_'*(n-i)) ``` 第一位解出來的: ::: ### M 票選動物 :::spoiler ```python=1 #程式碼由宜蘭高商提供 #1 while 1: try: z = [0,0] for _ in range(9): n = input() if n == 'Tiger': z[0] += 1 elif n == 'Lion': z[1] += 1 if z[0] > z[1]: print('Tiger') else: print('Lion') except: break ``` 第一位解出來的: ::: ### N 質因數的和 :::spoiler ```python=1 #程式碼由宜蘭高商提供 #1 while True: try: n = int(input()) r = n i = 2 ans = 0 while i <= n: if n % i == 0: n //= i ans += i else: i += 1 print(ans) except: break ``` 第一位解出來的: ::: ### O 西洋棋 :::spoiler ```python=1 #程式碼由宜蘭高商提供 #1 while True: n = [int(_) for _ in input().split(' ') if _] if n[0] == n[1] == n[2] == n[3] : break if n[0] == n[2] and n[1] == n[3] : print(0) elif n[0] == n[2] or n[1] == n[3] or abs(n[0]-n[2]) == abs(n[1]-n[3]): print(1) else: print(2) ``` 第一位解出來的: ::: ## :memo: 排名 全體排名 不管拿到第幾名 大家都很厲害了~ 為自己掌聲一下吧