ACM(遞迴遞推—I)

???yyyy發表於2017-03-31

題目:孫悟空吃桃子,每天吃全部桃子的一半多一個,第n天的時候剩下一個桃子求一共有多少桃子,輸入n結束輸入。

解題思路:當n大於等於2的時候有這個規律 a[i]=a[i-1]*2+2。

細節處理:將n以2為界限分別考慮。

程式碼:#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,i,j=0,a[31]={1,1},c[31];
    while(cin>>n)
    {
        if(n==0)
            break;
        if(n==1)
            c[j]=a[n];
         if(n>=2)
         {
             for(i=2;i<=n;i++)
                a[i]=a[i-1]*2+2;
              c[j]=a[i-1];
         }
         j++;
    }
    for(i=0;i<j;i++)
        cout<<c[i]<<endl;
    return 0;
}

感想:還是利用j=0;c【j】=一個數;j++來代替一個迴圈。


相關文章