新手村 過程函式與遞迴 數的計算

2021-08-11 18:36:32 字數 578 閱讀 5331

題目鏈結

這題想寫出乙個應付小資料範圍的**還是很簡單了,想要應付大範圍的可能就需要稍微加點優化了。首先這個資料範圍可能會超過int,其次,你不能說每次計算的時候都重複計算一遍,所以我加了乙個記憶化搜尋。

#include 

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

const

int maxn = 1010;

long

long a[1010];

long

long calculate(int n)

long

long sum = 0l;

for(int i = 1; i <= n / 2; i++)

sum += 1;

a[n] = sum;

return sum;

}int main()

新手村 過程函式與遞迴 P1036 選數

題目描述 已知 n 個整數 x1,x2,xn,以及乙個整數 k k n 從 n 個整數中任選 k 個整數相加,可分別得到一系列的和。例如當 n 4,k 3,4 個整數分別為 3,7,12,19 時,可得全部的組合與它們的和為 3 7 12 22 3 7 19 29 7 12 19 38 3 12 1...

洛谷訓練新手村之「過程函式與遞迴」題解

題目大意 以遞迴的方式輸出題目描述中的資料方案數。解題思路 因為是方案數,所以只需要開乙個計數器統計一下總共有多少方案即可。我們令f n 返回數為 n 的時候的方案數,不難得出 f n 1 sum 2 rfloor f i 但是需要注意乙個細節,我們需要用到備忘錄 或者稱為 記憶化搜尋 的思想,即,...

新手村 過程函式與遞迴 P1149 火柴棒等式

題目描述 給你n根火柴棍,你可以拼出多少個形如 a b c 的等式?等式中的a b c是用火柴棍拼出的整數 若該數非零,則最高位不能是0 用火柴棍拼數字0 9的拼法如圖所示 注意 加號與等號各自需要兩根火柴棍 如果a b,則a b c與b a c視為不同的等式 a b c 0 n根火柴棍必須全部用上...