常用的一些基本算法 (1)
闲来无事,,回顾了下一些基本常用的算法题。一共40到左右,以后每天连载着写点。
(1) 兔子生兔子问题。
简单描述: f3=f1+f2;
例子: 1,1,2,3,5,8,13......
代码:
public static void main(String[] args){ robat(8);} private static Integer robat(Integer count){ Integer result=0; for(int i=1;i<count;i++){ if(i==1 || i==2){ result=1; }else{ result=robat(i-1)+robat(i-2); } } return result;} for(int i=101;i<=200;i++){ boolean b=true; for(int j=2;j<=Math.sqrt(i);j++){ if(i%j==0){ b=false; } } if(b){ System.out.println(i); } } public static void main(String[] args) {// TODO Auto-generated method stubanalyZhi(100);}private static void analyZhi(int shu) {// TODO Auto-generated method stubList<Integer> rlist=new ArrayList<Integer>();for(int i=2;i<=shu;i++){boolean b=true;if(i==2){rlist.add(i);}else{for(int j=2;j<=Math.sqrt(i);j++){if(i%j==0){b=false;break;}}if(b==true){//System.out.println(i);rlist.add(i);} }}Integer a,dd=0;for(int m=0;m<rlist.size();m++){a=rlist.get(m);if(shu%a==0){dd=shu/a;System.out.println(a);break;}else{continue;}}if(dd>1){analyZhi(dd);}}