import java.util.ArrayList;
public class Main {
/*
* 总共144cm,切割成N段,最短1cm,其中任意三段都不能构成三角形,问N的最大值以及每一段的长度
* 实现过程:
* 按照斐波那契的数列进行截取,截取的长度和<=144
*/
public static void main(String[] args) {
int n = 144;
int len = 0;
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(1);
len = 2;
int i=2;
int temp=0;
while(len<n){
temp = list.get(i-2)+list.get(i-1);
list.add(temp);
i++;
len+=temp;
}
System.out.println(list.size());
for(Integer ele:list){
System.out.print(ele+" ");
}
}
}
本文探讨了一个数学问题:如何将144cm的材料按照斐波那契数列切割成N段,使得任意三段不能构成三角形,同时求解N的最大值及各段长度。通过Java编程实现,展示了斐波那契数列在实际问题中的应用。

8181

被折叠的 条评论
为什么被折叠?



