2019\National _C_C++_C\试题 C: 平方拆分
生活随笔
收集整理的這篇文章主要介紹了
2019\National _C_C++_C\试题 C: 平方拆分
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【問題描述】
將 2019 拆分為若干個兩兩不同的完全平方數之和,一共有多少種不同的方法?
注意交換順序視為同一種方法,例如 132 + 252 + 352 = 2019 與 132 + 352 + 252 = 2019 視為同一種方法。
【答案提交】
這是一道結果填空的題,你只需要算出結果后提交即可。本題的結果為一個整數,在提交答案時只填寫這個整數,填寫多余的內容將無法得分。
DFS
直接打暴力有點慢,Python大概跑了兩三分鐘,但無所謂,填空題嘛,能暴力出來就懶得動腦子了。
Python
def dfs(num, minn, maxn):if num < 0:returnif num == 0:global ansans += 1returnfor i in range(minn, maxn + 1):dfs(num - i ** 2, i + 1, maxn)ans = 0 dfs(num=2019, minn=1, maxn=45) print(ans)Answer:26287
如果完全平方數包括0的話,結果需要乘2,也就是52574。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的2019\National _C_C++_C\试题 C: 平方拆分的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2019\National _C_C++
- 下一篇: Django MPTT —— 概述