b站视频
https://www.bilibili.com/video/BV1KL4y1g7b3/
#include <bits/stdc++.h>
using namespace std;
int main() {
int k, n, ans = 0;
cin >> k >> n;
for (int i = 30; i >= 0; i --) {
if (n >> i & 1) {
ans += pow(k, i);
}
}
cout << ans;
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int main() {
int k, n, ans = 0, num = 1;
cin >> k >> n;
while (n) {
if (n & 1) ans += num;
n >>= 1;
num *= k;
}
cout << ans;
return 0;
}
本文展示了两段C++代码,分别使用位操作和指数运算求解相同问题。通过比较这两种方法,探讨了它们在效率和实现方式上的差异。代码涉及位移运算符和幂运算,适合对C++语言和算法感兴趣的读者深入理解。
866

被折叠的 条评论
为什么被折叠?



