1 条题解
-
0
📝 题目大意
给定一个整数 (),计算并输出 的值。
💡 解题思路
- 题目分析: 最大为 ,,在
int范围内(约 ),但保险起见使用long long避免溢出风险。 - 算法推导:初始化答案
ans = 1(即 ),循环 次,每次将ans乘以 。循环结束后ans即为 。这是最朴素、最直观的幂运算实现,对于 完全可行。 - 边界与细节:
- 时,循环不执行,
ans保持为 ,即 ,结果正确。 - 也可以使用位运算
1LL << N一行解决,但标准代码采用循环方式更易理解。
- 时,循环不执行,
⏱️ 复杂度分析
- 时间复杂度:,最多 次循环,常数级别。
- 空间复杂度:,仅使用常数个变量。
💻 标准代码 (C++)
#include<bits/stdc++.h> using namespace std; int main(){ long long n, ans = 1; // ans 初始化为 2^0 = 1 cin >> n; // 循环 N 次,每次乘以 2,得到 2^N for(int i = 1; i <= n; i++){ ans *= 2; } cout << ans; return 0; } - 题目分析: 最大为 ,,在
- 1
信息
- ID
- 611
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 上传者