Python アルゴリズム

目指せAtcorder茶色3

競技プログラミングの鉄則 
A04
クリア!

2進数を求める。
ある数字Nを10桁の2進数であらわす場合、
Nを2の9乗で割った商を2で割ったあまり、Nを2の8乗で割った商を2で割ったあまり、・・・・Nを2の0乗で割った商を2で割ったあまり
を並べたものになる。

例えばN=12の場合、
Nを2の9乗で割った商を2で割ったあまり=0
Nを2の8乗で割った商を2で割ったあまり=0
Nを2の7乗で割った商を2で割ったあまり=0
Nを2の6乗で割った商を2で割ったあまり=0
Nを2の5乗で割った商を2で割ったあまり=0
Nを2の4乗で割った商を2で割ったあまり=0
Nを2の3乗で割った商を2で割ったあまり=1
Nを2の2乗で割った商を2で割ったあまり=1
Nを2の1乗で割った商を2で割ったあまり=0
Nを2の0乗で割った商を2で割ったあまり=0
となり、答えは、0000001100 となる。

標準入力が12のとき、0000001100 が出力される

N=int(input())
i=9
while i >=0:
  syo=int(N/2**i)
  print(syo%2,end="")
  i=i-1

-Python, アルゴリズム