9 条题解
-
16
来个非正解做法
看似不能装下 ,但是 在装不下大数的时候会把自己变成 ,此时为了方便处理溢出,此变量将大于所有除了 的数,是不是很方便!
的时间复杂度为 ,因此可以通过此题。
𝐀𝐂代码
#include <bits/stdc++.h> using namespace std; int main() { int a, b; cin >> a >> b; double sum = pow(a, b); if (sum > 1e9) cout << "-1"; else cout << int(sum); return 0; }
-
3
AC代码
#include <iostream> using namespace std; using ull = unsigned long long; ull ksm(ull a, ull n) { ull res = 1; while (n) { if (n % 2) res = res * a; if (res > 1000000000) { cout << -1; exit(0); } a = a * a; n /= 2; } return res; } int main() { ull a, b; cin >> a >> b; cout << ksm(a, b); return 0; }
-
-5
#include <iostream> using namespace std; int main() { long a, b; cin >> a >> b; // 判断是否满足条件并计算结果 if (a <= 0 || b <= 0) { cout << "-1\n"; return 0; } long result = 1; while (b > 0) { if (result > 1e9 / a) { cout << "-1\n"; return 0; } result *= a; b--; } cout << result << "\n"; return 0; }
- 1
信息
- ID
- 2035
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 2188
- 已通过
- 343
- 上传者