見出し画像

日刊競プロ ABC239 -B - Integer Division -

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)

いいなと思ったら応援しよう!