学习资料和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
虽然文章里写了,我还是特别写一下,这道题是多组输入,先打表再接收并输出才是最快的,不必每次都算一遍。