题解 | #整数拆分#
整数拆分
https://www.nowcoder.com/practice/376537f4609a49d296901db5139639ec
#include <bits/stdc++.h> using namespace std; int main() { long long n; int dp[1000001]; dp[1] = 1; dp[2] = 2; while (cin >> n) { for (int i = 3; i <= 1000001 ; i++) { if (i % 2 == 0 ) { dp[i] =(dp[i - 1] + dp[i / 2]) %1000000000; } else { dp[i] = dp[i - 1] %1000000000; } } cout << dp[n] << endl; } }
就是找到dp的规律就行
#算法#