#P1014. 剪塑料管(填空)
剪塑料管(填空)
【题目描述】
老师特别喜欢奇数,现有一根长度为正整数 n 的塑料管,规定如下裁剪规则:
- 若当前塑料管长度 x 为奇数,无法继续裁剪,该管子保留,计数为 1;
- 若当前塑料管长度 x 为偶数,计算第一段长度:(a = \lfloor \dfrac{3 \times x}{7} \rfloor)(3x 除以 7 向下取整),第二段长度为 (b = x - a);
- 若算出的第一段长度 (a = 0),管子不能再裁剪,计数为 1;
- 若满足裁剪条件,则把管子剪成长度 a、b 两根塑料管,分别对两根管子重复上述裁剪流程; 求最终全部无法再裁剪的塑料管总数量。
【输入格式】
输入一个正整数 n,代表初始塑料管长度。 数据范围:(1 \le n \le 1000).
【输出格式】
输出一个整数,表示最后剩余管子的总根数。
Samples
8
2
#include <stdio.h>
int cut(int n) {
if (n % 2 == 1) {
return {{FILL}};
}
if (n * 3 / 7 == 0) {
return {{FILL}};
}
return cut(n * 3 / 7) + cut({{FILL}});
}
int main() {
int n;
scanf("%d", &n);
printf("%d\n", cut(n));
return 0;
}
Limitation
1s, 1024KiB for each test case.