a621 - 1. Powers of Two
題目描述
題目要求讀取一個非負整數 n,並輸出從 2 的 0 次方到 2 的 n 次方的所有值,格式為 "2^i = value"。
解題思路
此題的解題思路非常直接。使用一個迴圈,從 i = 0 開始迭代到 i = n。在每次迭代中,計算 2 的 i 次方,並按照指定的格式輸出結果。由於題目限制輸入 n 的範圍在 0 到 20 之間,因此使用 long long int 類型來儲存 2 的 i 次方的值,以避免溢位。
複雜度分析
- 時間複雜度: O(n)
- 空間複雜度: O(1)
程式碼
#include <iostream>
using namespace std;
int main(){
long long int a=0,b=0,c=1;
while(cin >> a){
while(a>=b){
cout << "2^" << b << " = " << c << endl;
c*=2;
b++;
}
}
}