[语言月赛 202405] 二进制

Luogu
IDLGB3972
Time1000ms
Memory512MB
DifficultyP1
2024O2优化循环结构语言月赛
在介绍十进制转二进制的篇目中,我们总会看到这样的方法: - 求出这个数字除以 $2$ 的**商**和**余数**,然后将余数写在右侧,用商替换原来的数字; - 重复以上过程直到这个数字变为 $0$; - 最后将右侧的所有余数**倒序**排列,得到的就是原数字的二进制形式。 小 S 也在学习二进制,不过她很懒,不想计算那么多次除法。于是她找到了你,希望你能为她写一个程序,帮助她得到上述过程中所有的**商**和**余数**。 ## Input 一行,一个正整数 $n$,表示她想要转成二进制的数字。 ## Output 输出若干行,每一行两个数字 $x_i$ 和 $y_i$,表示第 $i$ 次除法得到的商和余数。你应该保证 $y_i$ 是 $0$ 或 $1$。 [samples] ## Note ### 样例 1 解释 首先,$9 = 2 \times 4 + 1$,所以第一行输出 `4 1`,并令 $9$ 变为 $4$; 然后,$4 = 2 \times 2 + 0$,所以第二行输出 `2 0`,并令 $4$ 变为 $2$; 接着,$2 = 2 \times 1 + 0$,所以第三行输出 `1 0`,并令 $2$ 变为 $1$; 最后,$1 = 2 \times 0 + 1$,所以第四行输出 `0 1`,并令 $1$ 变为 $0$。过程结束。 ### 样例 2 解释 首先,$22 = 2 \times 11 + 0$,所以第一行输出 `11 0`,并令 $22$ 变为 $11$; 然后,$11 = 2 \times 5 + 1$,所以第二行输出 `5 1`,并令 $11$ 变为 $5$; 接着,$5 = 2 \times 2 + 1$,所以第三行输出 `2 1`,并令 $5$ 变为 $2$; 再然后,$2 = 2 \times 1 + 0$,所以第四行输出 `1 0`,并令 $2$ 变为 $1$; 最后,$1 = 2 \times 0 + 1$,所以第五行输出 `0 1`,并令 $1$ 变为 $0$。过程结束。 ### 数据范围 对于前 $30 \%$ 的数据,保证 $n$ 为若干个 $2$ 的乘积,且 $1 \leq n \leq 10^9$; 对于另 $30 \%$ 的数据,保证除法最多只进行 $3$ 次; 对于 $100 \%$ 的数据,保证 $1 \leq n \leq 10^{18}$。
Samples
Input #1
9
Output #1
4 1
2 0
1 0
0 1
Input #2
22
Output #2
11 0
5 1
2 1
1 0
0 1
Input #3
1
Output #3
0 1
API Response (JSON)
{
  "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 也在学习二进制,不过她很懒,不想计算那么多次除法。于是她找到了你,希望你能为她写一个程序,帮助她得到上述过程中所有...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments