假设你有n个大白兔奶糖,每次最多拿走一个或者两个,你有多少种不同的方法拿完全部的大白兔奶糖(注意求解方法的时间复杂度)
package com.hqyj.test;
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
while(true) {
System.out.println("输入奶糖个数");
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int count = 0;
int a = 1, b = 1, c = 1;
if (n >= 0 && n <= 50) {
for (int i = 2; i <= n / 2; i++) {
for (int j = 0; j < i; j++) {
a = a * (n - 2 * i + i - j);
b = b * (i - j);
}
count = count + (a / b);
a = 1;
b = 1;
}}
System.out.println(n + count);
}
}}
现在在华清远见正在学习前端技术,有一段时间没有学习java的知识了。郑老师让我们复习复习java的基础知识找一找大公司的真题做一做,锻炼一下思维。我趁着周六周日就做了几道,感觉这道小米的大白兔奶糖取法题很有趣就和大家分享一下我的做法。希望以后勤学苦练,多多进步。