CodeHunt 1.06 Code Puzzle有太多的偶然性

本文关键字:太多 偶然性 Puzzle Code CodeHunt | 更新日期: 2023-09-27 18:33:36

尽管我只是在这个游戏的开始,每个级别都很容易上幼儿园,但我发现自己被这个问题难住了。这很容易解决,但我不知道如何获得所有 3 分。很明显,我的解决方案很丑陋,但问题也很丑陋,我想不出更优雅的解决方法。

该函数应该为预定义的输入列表提供预期结果。没有接缝的模式,所以我不得不选择7个不同的返回语句来涵盖所有场景。你能想出一个优雅的解决方案来解决这个问题吗?

以下是我的结果,列出了每个输入的每个预期结果:

X       EXPECTED RESULT     YOUR RESULT 
Success     29      0       0           
Success     4       1       1           
Success     -2      -2      -2          
Success     3       1       1           
Success     -4      -1      -1          
Success     2       2       2           
Success     -95     0       0           
Success     -1      -4      -4          
Success     1       4       4   

这是我为获得解决方案而编写的丑陋代码:

using System;
public class Program {
    public static int Puzzle(int x) {
        if (x==1) return 4;
        if (x==-1) return -4;
        if (x<-4 || x>4) return 0;
        if (x<-2) return -1;
        if (x<0) return x;
        if (x>3) return 1;
        return 4-x;
    }
}

CodeHunt 1.06 Code Puzzle有太多的偶然性

忽略这一点。我想这太明显了,但出于某种原因,我决定尝试一些简单的东西,它奏效了,所以我找到了解决方案。

return 4/x;

认真地。就是这么简单。