學習資料和oj如何使用加軟件官方qq群739979255
oj網址:http://oj.acm-icpc.top/
a題:原題為輸入兩個數,一行,用空格隔開,因為python操作對萌新來說略難,改為一行一個數,算出a+b。
思路:依次接收數字,注意轉換為整形(input接受為字符串),然后加起來。
a=int(input())
b=int(input())
print(a+b)
b題:輸出逆序數:
思路:利用字符串切片直接步長-1即可
print(input()[::-1])
當然,放到列表里逆序,或利用數學逆序,等等,都可以。
c題:水仙花數:
知識點一:多組數據,以零結束? ? ? ?思路:while 1不斷接受數據,每次預先判斷,是0就跳出循環
知識點二:水仙花的判斷? ? ? ? ? ? ? ? 思路:利用數學或字符串取出每一位,并取三次方,判斷并輸出即可。
字符串標準寫法:
while 1:n=input()sum=0if int(n)==0:breakelse:for i in n:sum=sum+int(i)**3if sum==int(n):print("Yes")else:print("No")
或依次取出:
while 1:a=int(input())if a==0:breakelse:b=str(a)c=int(b[0])d=int(b[1])e=int(b[2])f=(c**3)+(d**3)+(e**3)if f==a:print("Yes")if f!=a:print("No")
數學取出:
while 1:n=int(input())if n==0:breakelse:a=n%10b=n//10%10c=n//100if n==a**3+b**3+c**3:print("Yes")if n!=a**3+b**3+c**3:print("No")
稍微拓展:
春天是鮮花的季節,水仙花就是其中最迷人的代表,數學上有個水仙花數,他是這樣定義的: “水仙花數”是指一個三位數,它的各位數字的立方和等于其本身,比如:153=1^3+5^3+3^3。 現在要求輸出所有在m和n范圍內的水仙花數。
ac代碼:
m,n=[int(x) for x in input().split()]
num = []
for i in range(m,n):if i==sum(int(x)**3 for x in str(i)):num.append(i)
if len(num) is not 0: print(" ".join(map(str, num)))
else:print("no")
d題:斐波那契:可以參考https://blog.csdn.net/hebtu666/article/details/79912328
雖然文章里寫了,我還是特別寫一下,這道題是多組輸入,先打表再接收并輸出才是最快的,不必每次都算一遍。