java - 在一个简单的练习中陷入限制

标签 java algorithm

我正在尝试解决这个练习,看起来很简单 this ,但我无法理解约束规则,它说:

  1. 数字可以用一只手或两只 watch 示;
  2. 如果用两只 watch 示数字,则先给出较大的数字

    规则编号 2 我无法理解,例如,如果它说 3,我有 3、2+1、1+2(这不是因为它重复),如果它说 6,我们有 6、5+1、4 +2、3+3、2+4 + 1+5 但正确的输出是 3,有人可以指导我解决这个问题吗??因为 7 是 2,8 是 2,9 是 1,10 是 1。

这是我的代码:

import java.util.Scanner;

class j1 {

    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        int tot = 5;
        int n = sc.nextInt();
        int sum = 0;
        int count = 1;

        for (int i = 1; i <= tot; i++) {

            for (int j = 1; j <= tot; j++) {
                sum = i + j;
                if (sum == n) {

                    System.out.println(i);
                    System.out.println(j);
                    count++;
                }
              }


        }

        System.out.println(count);
        sc.close();
    }
}

最佳答案

这很简单 - 如果你要用双手(2 只手)给出数字,那么你首先需要给出包含总数的较大数字 -

例如,当使用 2 只 watch 示 7(4+3 或 5+2)时 - 先给 4 !

7 (3+4, 2+5) 的其他选项无效,因为它会让我们首先列出较小的数字,这违反了规则 #2

关于java - 在一个简单的练习中陷入限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12452980/

相关文章:

java - 有没有办法从 mysql 获取超出 ArrayList 最大大小的记录

java - 多线程和继承

algorithm - 如何使用递归树求解方程 T(n) = 5T(n/5) + sqrt(n), T(1) = 1, T(0) = 0?

algorithm - 如何将公用电话建模为状态机?

c - 从一组映射到另一组

python - 如何计算多项式概率值?

java - 下载到内存后如何访问文件,Firebase?

java - 将 Property<Predicate<MyObject>> 绑定(bind)到 ListView(使用 SelectionMode.MULTIPLE)

java - 将 Request 范围对象注入(inject) @Aspect

寻找最优组的算法