24h購物| | PChome| 登入
2009-04-15 21:40:50| 人氣1,681| 回應1 | 上一篇 | 下一篇

長壽的兔子

推薦 0 收藏 0 轉貼0 訂閱站台

該死的兔子  

害我找了半天...因為我是廢物吧 哈哈

遞迴

找出其中的關係!!

/***********************************************************/

#include<stdio.h>
#include<stdlib.h>
main()
{
 unsigned long long int math[101]={0},m[101]={0};
 int a,b,n;
 math[11]=2;m[11]=2;
 for(a=12;a<=100;a++)
  {
   m[a]=m[a-1]*2;
   math[a]+=m[a]+math[a-1];
  }
 while(scanf("%d",&n)==1)
  printf("%llu\n",math[n+11]-math[n+1]);
 return 0;
}


/*
2 6 14 30 62 126 254 510 1022 2046 4092 8184
2 4  8 16 32 64  128 256 512 1024 2048 4096
*/

台長: 來源不明
人氣(1,681) | 回應(1)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: ZeroJudge 基礎+原創題庫 |
此分類下一篇:加法與次方的奧妙
此分類上一篇:求最小正同界角

terry
這是我的方法 你的解法好特別 0.0

想必是太常用陣列解題了XD

#include <iostream>
#include <math.h>

using namespace std;

int main()
{
long long unsigned n, i, sum, temp;
while(cin >> n) {
sum = 2, temp = 2;
for(i = 1; i <= n; i++) {
temp *= 2;
sum += temp;
if (i >= 10) {
sum -= (long long unsigned)pow(2, (i-9));
}
}
cout << sum << endl;
}
return 0;
}
2009-05-12 04:18:41
版主回應
嗯啊 因為要減少跑的次數 所以只好這樣子玩..
感謝分享程式碼押
2009-05-12 22:00:36
是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文