2018年4月1日 星期日

[C_RU14-易] 好高的水晶塔(C++)

[C_RU14-易] 好高的水晶塔



一定很多人在婚宴的典禮上看過用水晶杯所疊成的金字塔 。 今天小明的姐姐要準備婚禮了,她也希望可以在婚宴上有一座用水晶杯疊成的金字塔,可是她不知道到底需要準備多少杯子才能剛好疊成她想要的層數 。 小明的姊姊想要的的金字塔是以每一層都是正方形所疊出來的塔 , 聰明的你可以幫小明的姊姊計算一下她想要疊的層數到底需要多少杯子才夠嗎 ? 當輸入為 -1 時結束程式 。
輸入格式 :
水晶杯塔的層數 N ( 1 £ N £ 1000)
輸出格式 :
需要最少的杯子數量
Sample input :
2
3
6
-1

Sample output
5
14
91


  1. #include <iostream>  
  2. #include<iomanip>  
  3. using namespace std;  
  4.    
  5. int factorial(int n)  
  6. {  
  7.     if(n==1)  
  8.     {  
  9.         return(1);  
  10.     }  
  11.     else  
  12.     {  
  13.         return factorial(n-1) + n*n;  
  14.     }  
  15. }  
  16.    
  17. int main() {  
  18.     // [C_RU14-易] 好高的水晶塔  
  19.     double N;  
  20.     while(cin >> N)  
  21.     {  
  22.         if(N == -1)  
  23.         {  
  24.             break;  
  25.         }  
  26.         else  
  27.         {  
  28.              for (double i=1; i<= N; i++)  
  29.              {  
  30.                 if(i == N)  
  31.                 {  
  32.                     cout << factorial(i) << endl;  
  33.                 }  
  34.              }  
  35.         }  
  36.     }  
  37.     return 0;  
  38. }  

沒有留言:

張貼留言