#937. [CSP2020 入门级] 第 22 题

[CSP2020 入门级] 第 22 题

#include <iostream>
using namespace std;

long long n, ans;
int k, len;
long long d[1000000];

int main() {
  cin >> n >> k;
  d[0] = 0;
  len= 1;
  ans = 0;
  for (long long i = 0; i <n; ++i) {
    ++d[0];
    for (int j = 0; j + 1<len; ++j) {
      if (d[j] == k) {
        d[j] = 0;
        d[j + 1] += 1;
        ++ans;
      }
    }
    if (d[len- 1] == k) {
      d[len - 1] = 0;
      d[len] =1;
      ++len;
      ++ans;
    }
  }
  cout << ans << endl;
  return 0;
}

假设输入的 nn 是不超过 2622^{62} 的正整数,kk 都是不超过 1000010000 的正整数,完成下面的判断题和单选题:

  • 判断题

{{ select(1) }}

  • 正确
  • 错误