/** * 捡贝壳 * <p> * 假设有n(1~1000000000000000000)个贝壳 * 小花每次分1/10 * 小梅每次分m个 * 让小梅开始先分 * 问每次给小梅分至少m个可让小梅得到一半以上的贝壳 */ public class Demo2 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = 0; if (scanner.hasNextInt()) { n = scanner.nextInt(); } int m = 1; boolean flag = true; for (m = 1; m < n && flag; m++) { int total = n; int sum = 0; int jSum = 0; while (total > 0) { //小梅的 sum += m; total -= m; System.out.println("m--" + m + "sum---- " + sum); if (sum > n / 2) { flag = false; break; } //小花的 int j = total / 10; jSum += j; total -= j; System.out.println("m--" + m + "total---- " + total); if (jSum >= n / 2) { break; } } if (!flag) { break; } } System.out.println(m); } }