速く2のn次べき乗を求めます(Time Limit Exceededを防ぎます)
c++で書かれたコードで、2のn次べき乗(配列実装)を迅速に求める
コードは次のとおりです.
ありがとうございます
コードは次のとおりです.
#include <iostream>
const int N = 1000; // , ,
using namespace std;
int main(){
int a[N] = {
1}; // 1, 0;
int n,m;
cin>>n; //
m = 1; // 2 0 m-1
for(int i = 0;i < n;i++){
int t = 0;
for(int j = 0;j < m;j++)
{
t+=a[j]*2;
a[j] = t%10;
t/=10; // t>10
}
if(t)
a[m++] = 1; // , m 1,m 。
}
for(int i = m - 1;i >= 0;i--) // , m-1
cout<<a[i]; //
cout<<endl;
}
ありがとうございます