贴一个第一题的题解,就是代码风格不规范。 public class Main1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int res = new Ss().func(n); System.out.println(res); } } class Ss{ int n,cnt=0,index=0,indexsize=0; StringBuilder sb = new StringBuilder(""); public int func(int n) { List<Integer> list = new ArrayList<>(); this.n= n; list.add(2); list.add(3); list.add(5); cnt=3; while(list.size()<n) { int tmp2 = something(2,list); int tmp3 =something(3,list); int tmp5 =something(5,list); cnt=tmp2+tmp3+tmp5; index = list.size()-cnt; } return list.get(n-1); } int something(int pre,List<Integer> list){ if(list.size()>=n) return 0; int tmpcnt = 0; for(int i = index,j=0;j<cnt;i++,j++) { sb.setLength(0); String s=sb.append(pre).append(list.get(i)).toString(); list.add(Integer.parseInt(s)); tmpcnt++; if(list.size()>=n) return tmpcnt; } return tmpcnt; } }

相关推荐

牛客网
牛客企业服务