#P1014. 剪塑料管(填空)

剪塑料管(填空)

【题目描述】

老师特别喜欢奇数,现有一根长度为正整数 n 的塑料管,规定如下裁剪规则:

  1. 若当前塑料管长度 x 为奇数,无法继续裁剪,该管子保留,计数为 1;
  2. 若当前塑料管长度 x 为偶数,计算第一段长度:(a = \lfloor \dfrac{3 \times x}{7} \rfloor)(3x 除以 7 向下取整),第二段长度为 (b = x - a);
  3. 若算出的第一段长度 (a = 0),管子不能再裁剪,计数为 1;
  4. 若满足裁剪条件,则把管子剪成长度 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.