赞
踩
问题描述
将 2019 拆分为若干个两两不同的完全平方数之和,一共有多少种不同的方法?
注意交换顺序视为同一种方法,例如 132 + 252 + 352 = 2019 与 132 + 352 +252 = 2019 视为同一种方法。
暴力dfs,运用递增保证不重复。
#include <iostream> using namespace std; typedef long long ll; ll num=0; void dfs(int n, int begin) { if (n < 0)return; if (n == 0)num++; else { for (int i = begin;i * i <= n;i++) { dfs(n - i * i, i+1); } } } int main() { dfs(2019, 0); cout << num; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。