23,407
社区成员
发帖
与我相关
我的任务
分享本人 17岁,高二。我们学校已开设计算机课。 现附“把一个数拆成若干个完全平方数的和,可重复,但不可含有1,例如:42=25+9+4+4”答案 用递归实现import java.util.*; import java.io.*; public class test{ public static void main(String[] args){ Scanner in=new Scanner(System.in); int a=in.nextInt(); if(a<8){ p("must more than 7,input:"); a=in.nextInt(); } ArrayList<Integer> arr=new ArrayList<Integer>(); s(arr,a); p(a+"="); int len=arr.size(); for(int i=0;i<len;++i) { int x=arr.get(i); p(""+(x*x)); if(i!=len-1) p("+"); } } static boolean s(ArrayList<Integer> arr,int a){ if(a==0) return true; int n=(int)Math.sqrt(a); if(n==1) return false; while(!s(arr,a-n*n)) if(--n<2) return false; arr.add(n); return true; } static void p(String s){ System.out.print(s); } }
我在想真的有那么多 NB 的应届生的应付的来那些题目吗, 大学里似乎是很自然而然的走上了业务逻辑那条路, 算法逻辑被很自然的丢掉了(等到后知后觉的时候已经大四了呀) 而且学生级别的业务通常也不需要用很底层的逻辑去解决的问题.... (通常能把产品的所有业务逻辑完成就已经沾沾自喜了) 真的狠好奇那些能答题的大牛们大学都是怎么过来的?! 可能我在一所二流本科大学,眼界不够吧。


[quote=引用 4 楼 SmallYamateh 的回复:] lz没过笔试和一面么?如果过了,二面和三面肯定会考你Java,不过难度至少是:手写ArrayList、LinkedList、Stack、HashMap或者TreeSet的CRUD等等,笔试和一面么?如果过了,二面和三面肯定会考你Java,不过难度至少是:手写ArrayList、LinkedList、Stack、HashMap或者TreeSet的CRUD等等,而且要求加上泛型,并且分析自己的程序和JDK源码的运行效率。http://www.xsxs.net而且要求加上泛型,并且分析自己的程序和JDK源码的运行效率。
本人 17岁,高二。我们学校已开设计算机课。 现附“把一个数拆成若干个完全平方数的和,可重复,但不可含有1,例如:42=25+9+4+4”答案 用递归实现import java.util.*; import java.io.*; public class test{ public static void main(String[] args){ Scanner in=new Scanner(System.in); int a=in.nextInt(); if(a<8){ p("must more than 7,input:"); a=in.nextInt(); } ArrayList<Integer> arr=new ArrayList<Integer>(); s(arr,a); p(a+"="); int len=arr.size(); for(int i=0;i<len;++i) { int x=arr.get(i); p(""+(x*x)); if(i!=len-1) p("+"); } } static boolean s(ArrayList<Integer> arr,int a){ if(a==0) return true; int n=(int)Math.sqrt(a); if(n==1) return false; while(!s(arr,a-n*n)) if(--n<2) return false; arr.add(n); return true; } static void p(String s){ System.out.print(s); } }

