第 3 题 Popcount (popcount)
时间限制 1.0 s · 空间限制 256 MB · 48 个测试点 · 全文比较(过滤行末空格及文末回车)
本题使用文件输入输出:输入文件 popcount.in,输出文件 popcount.out。
Miniature Algebraic Natural Relay 是小型可编程设备的最新技术进步。您可以使用 MalnarScript 为此设备编写自己的程序。
题目描述
程序要求如下:
- 程序的输入是一个严格小于
的单个非负整数。 - 程序的输出是一个严格小于
的单个非负整数。 - 使用 MalnarScript 进行编程时,您只能使用一个
位无符号整数变量 。在程序的开头,此变量保存输入,并且其在程序末尾的值被视为程序的输出。 - MalnarScript 的源代码最多必须包含
个格式为 的命令,这些命令按顺序执行,并且每个命令最多包含 个字符。
符号
换句话说,符号
上面定义中的符号
此外,字符
在执行加减运算时出现溢出或下溢时,MalnarScript 将以
每个命令中方程式的右侧求和为一个数字,然后将其存储到
您的任务是编写一个程序,该程序在 MalnarScript 中输出程序,该程序以输入值的二进制表示形式计算一 个数。
输入格式
第一行,两个正整数
输出格式
第一行中,您应该输出产生的 MalnarScript 程序的命令数。
在其余各行中,您应该输出所需程序的命令。每个命令必须在单独的行中输出,并且必须满足任务描述中 所述的 MalnarScript 语法。
重要的是,输出中不要有不必要的空行或多余的空格字符。 每行(包括最后一行)必须以换行(\n)结尾。
样例
样例 1
输入:
2 2输出:
1
A=(A-((A&2)>>1))样例 2
输入:
3 5输出:
2
A=((A&4)|((A&3)-((A&2)>>1)))
A=((A&3)+((A&4)>>2))提示
数据范围及约定
| Subtask | 分数 | 数据范围及约定 |
|---|---|---|
| 1 | 15 | |
| 2 | 15 | |
| 3 | 35 | |
| 4 | 45 |
说明
**
**
感谢 @Sprague_Garundy 提供的 SPJ,SPJ 可以在题目附件处下载。
另外,由于 testlib 库在洛谷环境下生成随机数在
| 特殊测试点编号 | 时限 |
|---|---|
| 15 | 3s |
| 39 | 2s |
| 40 | 3s |
| 48 | 3s |
上述测试点时限仅用于 Special Judge 程序使用。