Java 项目任务17

Java 项目任务17,java,string,Java,String,我一直试图在ProjectEuler上解P17(),但显然我遗漏了一些东西,因为我得到的答案(20908)更小。有人能看看我的密码告诉我吗?我已经试了半个小时想找到它,但是我看不见 public class P17{ public static void main(String[]args){ //1, 2, 3... 9 String[] a = {"one", "two", "three", "four", "five", "six", "seven",

我一直试图在ProjectEuler上解P17(),但显然我遗漏了一些东西,因为我得到的答案(20908)更小。有人能看看我的密码告诉我吗?我已经试了半个小时想找到它,但是我看不见

public class P17{
  public static void main(String[]args){
        //1, 2, 3... 9
        String[] a = {"one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
        int s1 = 0;
        for(String i: a){
            s1+=i.length();
        }

        //10, 11, 12... 19
        String[] b = {"ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "eighteen", "nineteen"};
        int s2 = 0;
        for(String i: b){
            s2+=i.length();
        }

        //20, 30, 40... 90
        String[] c = {"twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"};
        int s3 = 0;
        for(String i: c){
            s3+=i.length();
        }

        //21, 22, 23... 31, 32, 33... 99
        int s4 = 0;
        for(String i: c){
            for(String j: a){
                s4+=(i+j).length();
            }
        }

        String x = "hundred";
        String y = "onethousand";
        String z = "and";

        //100, 200, 300... 900
        int s5 = 0;
        for(String i: a){
            s5+=(i+x).length();
        }

        //101, 102, 103... 201, 202, 203... 909
        int s6 = 0;
        for(String i: a){
            for(String j: a){
                s6+=(i+x+z+j).length();
            }
        }

        //110, 111, 112... 210, 211, 212... 919
        int s7 = 0;
        for(String i: a){
            for(String j: b){
                s7+=(i+x+z+j).length();
            }
        }

        //120, 130, 140... 220, 230, 240... 990
        int s8 = 0;
        for(String i: a){
            for(String j: c){
                s8+=(i+x+z+j).length();
            }
        }

        //121, 122, 123... 221, 222, 223... 999
        int s9 = 0;
        for(String i: a){
            for(String j: c){
                for(String k: a){
                    s9+=(i+x+z+j+k).length();
                }
            }
        }

        //sum
        int sum = s1+s2+s3+s4+s5+s6+s7+s8+s9+y.length();
        System.out.print(sum);
    }
}
十七在哪里


(有趣的是,你在Euler问题上犯了这个错误<强> 17 < /强>…)/P>你的结果应该是什么?考虑改变你的标题,所以人们知道这个问题是什么。+ 1更新标题。叫它“帮助解决欧拉工程问题17”或什么的。哇,17是一个数字。哈哈,注意到这一点,+1。我得到了正确的答案。哈哈哈..投了14票,投了17票:)现在,投了17票;)

String[] b = {"ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen",
    "sixteen", "eighteen", "nineteen"};