簡體   English   中英

如何在 C++ 中制定解決此問題的公式?

[英]How can I make formula for solve this problem in C++?

查理曾經參觀巧克力工廠購買一些巧克力。巧克力成本盧比。 3個,他只有盧比。 45.他很失望。 他想要更多。 但當他到達工廠時,他驚呆了。 在那個特殊的日子里有一個計划。 如果您歸還 3 個說唱歌手的巧克力,您將免費獲得 1 個巧克力。 那么他能買多少巧克力呢? 例如:查理有盧比。 45 和每塊巧克力花費盧比。 3. 所以他只買了 15 塊巧克力。 但根據報價,他將退回 15 個包裝紙並免費獲得 5 個巧克力。 然后他將退回 5 個包裝紙中的 3 個,並免費獲得另一個。 他將再次使用一個包裝紙和剩下的 2 個包裝紙來再得到一個。 所以他總共有 15+5+1+1 = 22 塊巧克力。

您可能應該對此使用遞歸。 直到達到基本情況,在這種情況下將是 (total/3 < 1),這意味着您無法返回任何包裝器來獲得新的包裝器。 如果它沒有達到基本情況,您可以執行以下操作

ans=total/3+func(total/3)

這將當前巧克力數量相加,即總數/3 加上他在返回當前巧克力數量的包裝紙后將獲得的巧克力數量。 希望這有所幫助 :)

jbtw total 基本上是他在那個特定時間擁有的包裝器總數。 或者他在那個特定迭代中擁有的總資金。 func 是遞歸函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM