日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

POJ-2942:吃糖果

發布時間:2025/3/20 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 POJ-2942:吃糖果 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這題的關鍵是“媽媽告訴名名每天可以吃一塊或者兩塊巧克力”這一句,當然我說的這一句有廢話的嫌疑。

但是不可否認,這句話真的很重要。每天可以吃一塊或是兩塊,那么是不是就可以這樣地去一個假設,假設我在第i天的時候,吃到第j顆糖果,在第i+1天的時候,吃到了第j+1或是第j+2顆糖果。重點來了,那么,是不是就可以說我在第i天吃到第j顆糖果的吃巧克力的方案數目就是我在第i+1天的時候吃第j+1和吃j+2顆糖果的和。

可能你會問我為什么。那我這樣來問一個問題,我在第i+1天的時候只了1顆糖果,那么我剩下的假設有m顆糖果要k天吃完是不是和我在第i+1天的時候只了2顆糖果,那么我剩下的m-1顆糖果要n天吃完是兩種不同的方案?正是如此,所以我們就可以依次遞推。得到這一個算法段:

1.如果n是1,返回1;

2.如果n是2,返回2;

3.如果n是大于2的數,就返回一個n-1和n-2之和的值;

private static int getCount(int n) {if (n == 1) {return 1;} else if (n == 2) {return 2;} else {return getCount(n -1) + getCount(n- 2);}}
------------------------------------------------- AC CODE -----------------------------------------------

import java.util.Scanner;public class Main {private static int getCount(int n) {if (n == 1) {return 1;} else if (n == 2) {return 2;} else {return getCount(n -1) + getCount(n- 2);}}public static void main(String[] args) {Scanner in = new Scanner(System.in);System.out.println(getCount(in.nextInt()));}}

總結

以上是生活随笔為你收集整理的POJ-2942:吃糖果的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。