{"problem":{"name":"[语言月赛 202405] 二进制","description":{"content":"在介绍十进制转二进制的篇目中，我们总会看到这样的方法： - 求出这个数字除以 $2$ 的**商**和**余数**，然后将余数写在右侧，用商替换原来的数字； - 重复以上过程直到这个数字变为 $0$； - 最后将右侧的所有余数**倒序**排列，得到的就是原数字的二进制形式。 小 S 也在学习二进制，不过她很懒，不想计算那么多次除法。于是她找到了你，希望你能为她写一个程序，帮助她得到上述过程中所有","description_type":"Markdown"},"platform":"Luogu","limit":{"time_limit":1000,"memory_limit":524288},"difficulty":{"LuoguStyle":"P1"},"is_remote":true,"is_sync":true,"sync_url":null,"sign":"LGB3972"},"statements":[{"statement_type":"Markdown","content":"在介绍十进制转二进制的篇目中，我们总会看到这样的方法：\n\n- 求出这个数字除以 $2$ 的**商**和**余数**，然后将余数写在右侧，用商替换原来的数字；\n- 重复以上过程直到这个数字变为 $0$；\n- 最后将右侧的所有余数**倒序**排列，得到的就是原数字的二进制形式。\n\n小 S 也在学习二进制，不过她很懒，不想计算那么多次除法。于是她找到了你，希望你能为她写一个程序，帮助她得到上述过程中所有的**商**和**余数**。\n\n## Input\n\n一行，一个正整数 $n$，表示她想要转成二进制的数字。\n\n## Output\n\n输出若干行，每一行两个数字 $x_i$ 和 $y_i$，表示第 $i$ 次除法得到的商和余数。你应该保证 $y_i$ 是 $0$ 或 $1$。\n\n[samples]\n\n## Note\n\n### 样例 1 解释\n\n首先，$9 = 2 \\times 4 + 1$，所以第一行输出 `4 1`，并令 $9$ 变为 $4$； \n然后，$4 = 2 \\times 2 + 0$，所以第二行输出 `2 0`，并令 $4$ 变为 $2$；  \n接着，$2 = 2 \\times 1 + 0$，所以第三行输出 `1 0`，并令 $2$ 变为 $1$；  \n最后，$1 = 2 \\times 0 + 1$，所以第四行输出 `0 1`，并令 $1$ 变为 $0$。过程结束。\n\n### 样例 2 解释\n\n首先，$22 = 2 \\times 11 + 0$，所以第一行输出 `11 0`，并令 $22$ 变为 $11$；  \n然后，$11 = 2 \\times 5 + 1$，所以第二行输出 `5 1`，并令 $11$ 变为 $5$；  \n接着，$5 = 2 \\times 2 + 1$，所以第三行输出 `2 1`，并令 $5$ 变为 $2$；  \n再然后，$2 = 2 \\times 1 + 0$，所以第四行输出 `1 0`，并令 $2$ 变为 $1$； \n最后，$1 = 2 \\times 0 + 1$，所以第五行输出 `0 1`，并令 $1$ 变为 $0$。过程结束。\n\n### 数据范围\n\n对于前 $30 \\%$ 的数据，保证 $n$ 为若干个 $2$ 的乘积，且 $1 \\leq n \\leq 10^9$；  \n对于另 $30 \\%$ 的数据，保证除法最多只进行 $3$ 次；  \n对于 $100 \\%$ 的数据，保证 $1 \\leq n \\leq 10^{18}$。","is_translate":false,"language":"English"}],"meta":{"iden":"LGB3972","tags":["2024","O2优化","循环结构","语言月赛"],"sample_group":[["9\n","4 1\n2 0\n1 0\n0 1\n"],["22\n","11 0\n5 1\n2 1\n1 0\n0 1\n"],["1\n","0 1\n"]],"created_at":"2026-03-03 11:09:25"}}