【问题标题】:How to "invert" numbers in Java如何在 Java 中“反转”数字
【发布时间】:2013-06-15 01:41:10
【问题描述】:

假设我有一个数字 1-5,现在如果我有 2,我想要 4 作为输出,如果我有 3,那么有 3 作为输出,如果我有 1,那么 4 作为输出。这是我想要的图表:

1-10 图表:

Give 1 return 9
Give 2 return 8
Give 3 return 7
Give 4 return 6
Give 5 return 5

我用什么算法来做这样的事情?

【问题讨论】:

  • 如果我理解你所说的正确,你想打印与结尾等距的数字,因为输入数字是从头开始的?这基本上就是长度 - 你的号码。
  • ' 1-5,现在如果我有 2,我想要 4...' 这个例子对吗?
  • Joe 和 IHawk,没错,就是这样。
  • 如果你有一个集合或者数组不难,那么你要做的只是减去长度和实际位置

标签: java


【解决方案1】:

我认为您并不需要算法。你所拥有的是:

InverseNumber = (myCollection.Length - MySelection);

这就是偶数所需的全部内容。

以 1 - 6 的集合为例: 给2; 6 - 2 = 4。如果给定 4,6 - 4 = 2。

你需要一个稍微不同的赔率问题:

1 - 5; 1 给定 1 在索引 0 处,相反是 5,给定 2 并且倒数 (5 - 2) 是 3。但是如果给定 3,则没有倒数。因此,您可能还想添加一个捕获:

if (((myCollection.Length *.5).Round) == mySelection) { //Inverse does not exist!!!}

如果您只使用整数,而不是数字数组,则只需将 myCollection.Length 替换为上限整数。

【讨论】:

    【解决方案2】:

    我认为以下代码可以满足您的需要:

    int a[] = new a[length_needed];
    int counter = length_needed;
    for(int c = 0; c < length_needed; c++) {
       a[c] = counter;
       counter--;
    }
    int number_inputed;
    for(int c = 0; c < length needed; c++) {
       if(c == number_inputed) System.out.println(a[c]);
    }
    

    【讨论】:

      【解决方案3】:

      假设您将最大数量作为输入。然后您将拥有0-n 号码。例如,如果 9 是您将拥有的最大数字 0-9

      然后你可以这样做:

      public static void main(String[] a) {
         int max = a[0]; // read values from cmd line args
      
         int forWhichNum = a[1]; //for which number we need its inverse
      
         Sop(max- forWhichNum);
      }
      

      【讨论】:

        【解决方案4】:
        Integer value = 2;
        Integer maxValue = 6;
        Integer reverseCounter = 0;
        for (int i = maxValue; i > 0; i--) {
            reverseCounter++;
            if (i == value) {
                return reverseCounter;
            }
        }
        

        【讨论】:

          猜你喜欢
          • 2022-11-19
          • 2012-10-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-28
          相关资源
          最近更新 更多