日刊競プロ ABC239 -B - Integer Division -
問題文
−10**18以上 10**18以下の整数 X が与えられるので、⌊10/X⌋ を出力してください。
考えたこと
10で割った際に出てきた数が、絶対値上で小さい方の数になれば良いと考えた。いろいろと思考錯誤して記述したものが以下になる。。。(一応ACはできたが汚いコードになってしまった)
import math
X = input()
if int(X)>=0:
if len(X)!=1:
print ((X[0:-1]))
else:
print (0)
else:
if int(X)<0 and int(X)>-10:
print (-1)
elif int(X[-1])==0:
print ((-1)*int(X[1:-1]))
else:
print ((-1)*(int(X[1:-1])+1))
解説を見た結果
徐算であれば以下で一発でできるとのこと。。。。
X = int(input())
print(X // 10)