import jdk.swing.interop.SwingInterOpUtils; import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()){ int len=1189,k=841; int button=0; String s = sc.nextLine(); int sb = Integer.parseInt(s.substring(1, 2)); if (sb==0) { System.out.println(len); System.out.println(k); }else if (sb>0&&sb<=9){ for (int i = 0; i < sb; i++) { button=len; len=Math.max(len,k); k=Math.min(button,k); len = len / 2; } int[] ints = new int[2]; ints[0]=len; ints[1]=k; Arrays.sort(ints); System.out.println(ints[1]); System.out.println(ints[0]); } } } }
特殊计算法
本文档介绍了一个Java程序,它接收用户输入的整数,根据特定规则计算一个长度为1189的序列的最短部分。当输入的sb在0到9之间时,程序通过迭代操作找到最短的子序列。核心是利用Math.max和Math.min函数来调整最大值和最小值,最后对结果进行排序并输出。
摘要由CSDN通过智能技术生成