/* ------------------------------------------------------------ * [問題] * 自然数を 1 つ読み込み, これに対して次の手順を実行するプログ * ラムを作ってください. * ただし,以下では読込んだ自然数を n と表します: * (1)n を 2 で割った余りを表示させる. * (2)n を 2 で割った商が 0 でない場合, その商を改めて n とおく. * そして (1)へ戻る. * 商が 0 の場合, 終了する. * * [参考]表示された 0,1 を逆から読むと, 最初に入力した自然数 * の 2 進数表示になっています. * *(例)※[ ]内がユーザからの入力を表す * * 整数 = ? [9] * 1 * 0 * 0 * 1 * ------------------------------------------------------------ * プログラム例 * (C) 2005 Hirohisa AMAN */ #include int main(void){ int n; printf("整数 = ? "); scanf("%d", &n); printf("%d\n", n % 2 ); while ( n / 2 > 0 ){ n = n / 2; printf("%d\n", n % 2 ); } return 0; }