初赛第30题求助
  • 板块学术版
  • 楼主滑蒻稽
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/9/28 09:14
  • 上次更新2023/10/27 09:41:20
查看原帖
初赛第30题求助
113181
滑蒻稽楼主2022/9/28 09:14

为什么这题选 × 啊

30)除非输入的 n 为 0,否则程序输出的字符数为 O(logkn+1)O(\lfloor\log_k|n|+1\rfloor)。(×)

01 #include <iostream>
02 #include <algorithm>
03
04 using namespace std;
05
06 const int MAXL = 1000;
07
08 int n, k, ans[MAXL];
09
10 int main(void)
11 {
12     cin >> n >> k;
13     if (!n) cout << 0 << endl;
14     else
15     {
16         int m = 0;
17         while (n)
18         {
19             ans[m++] = (n % (-k) + k) % k;
20             n = (ans[m - 1] - n) / k;
21         }
22         for (int i = m - 1; i >= 0; i--)
23             cout << char(ans[i] >= 10 ?
24                 ans[i] + 'A' - 10 :
25                 ans[i] + '0');
26         cout << endl;
27     }
28     return 0;
29 }
2022/9/28 09:14
加载中...