本文共 661 字,大约阅读时间需要 2 分钟。
输入
3 1 2 3 输出 1 2 31,可以运用循环计数的方法,每次取截取后最长的那个进行之后的判断,每判断一次加一,当长度等于一的时候退出循环。
2,运用递归的算法,和方法一思想相同,形式改成递归的形式。import java.util.*;public class Main{ public static void main(String[] args) { Scanner in=new Scanner(System.in); int n=in.nextInt(); Long[] num=new Long[n]; for (int i = 0; i1){ len=len-len/2; count++; } return count; } //函数方法二:递归 public static int cut(Long len) { //思路:每次只要切最长的就可以 int count=1; if(len==1) return count; Long temp=len/2; if(len%2==1){ temp++; } return cut(temp)+1; }}
转载地址:http://dtgji.baihongyu.com/