オレンジ白oj 18訓練作業1-題解、コード

2049 ワード

学習資料とojはどのようにソフトウェアの公式qq群739979255を使用します
ojサイト:http://oj.acm-icpc.top/
a題:原題は2つの数を入力し、1行をスペースで区切ることで、python操作は萌新にとってやや難しいので、1行1つの数に変更し、a+bを算出する.
考え方:数字を順番に受信し、整形(inputは文字列)に変換して加算することに注意します.
a=int(input())
b=int(input())
print(a+b)

b題:逆序数を出力する:
構想:文字列スライスを利用して直接ステップ-1でよい
print(input()[::-1])

もちろん、リストに逆順を入れたり、数学の逆順を利用したりしてもいいです.
c題:水仙の花数:
知識ポイント1:複数のデータのグループをゼロで終了       考え方:while 1は絶えずデータを受け入れて、毎回予め判断して、0は循環を飛び出します
知識点2:水仙の判断                考え方:数学や文字列を利用して一人一人を取り出し、三次方を取って、判断して出力すればいい.
文字列の標準書き方:
while 1:
    n=input()
    sum=0
    if int(n)==0:
        break
    else:
        for i in n:
            sum=sum+int(i)**3
        if sum==int(n):
            print("Yes")
        else:
            print("No")

または、次の手順で取り出します.
while 1:
    a=int(input())
    if a==0:
        break
    else:
        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:
        break
    else:
        a=n%10
        b=n//10%10
        c=n//100
        if n==a**3+b**3+c**3:
            print("Yes")
        if n!=a**3+b**3+c**3:
            print("No")

少し拡張:
春は花の季節で、水仙の花はその中で最も魅力的な代表で、数学の上で水仙の花の数があって、彼はこのように定義しました:“水仙の花の数”は1つの3桁の数を指して、その各位の数字の立方とそれ自身に等しくて、例えば: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
文章の中で書いたが、私は特に書いて、この問題は複数の入力で、先に表を打ってから受信して出力するのが一番速いので、毎回計算する必要はありません.