[转帖]JAVA一些基础算法_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2912 | 回复: 0   主题: [转帖]JAVA一些基础算法        下一篇 
只是很无聊
注册用户
等级:中尉
经验:440
发帖:33
精华:0
注册:2013-6-18
状态:离线
发送短消息息给只是很无聊 加好友    发送短消息息给只是很无聊 发消息
发表于: IP:您无权察看 2013-6-19 11:23:15 | [全部帖] [楼主帖] 楼主

1.题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

Java代码  
北京联动北方科技有限公司

  1. View Code 
  2. public class mainTest { 
  3.        /** 
  4.        * 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子, 
  5.        * 小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 
  6.        * 规律:1.1.2.3.5.8.13 
  7.        */ 
  8.        public static void main(String[] args) { 
  9.              System.out.println(f(3)); 
  10.        } 
  11.        public static int f(int i){ 
  12.              if(i==1||i==2){ 
  13.                    return 1; 
  14.              }else{ 
  15.              return f(i-1)+f(i-2); 
  16.        } 
  17.  } 



2.题目:判断101-200之间有多少个素数,并输出所有素数。结果为101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199

Java代码  
北京联动北方科技有限公司

  1. View Code 
  2. public class mainTest { 
  3.        /** 
  4.        * 思路:素数是只能被自身跟1整除的数。循环i从101-200.与比i小的数(又一个循环j,从2到i)求余, 
  5.        * 如果i%j==0并且i!=j说明i可以被其他数整除,则跳出循环, 
  6.        * 如果i不可以被j的任何数整除, 
  7.        * 只有当i==j的时候才可以整除(就是被自身整除)就为素数 
  8.        */ 
  9.        public static void main(String[] args) { 
  10.              for (int i = 101; i < 201; i++) { 
  11.                    int flag = 0; 
  12.                    for (int j = 2; j <= i; j++) { 
  13.                          if (i % j == 0 && i != j) { 
  14.                                break; 
  15.                          } else if (i == j) { 
  16.                                flag = 1; 
  17.                          } 
  18.                    } 
  19.                    if (flag == 1) { 
  20.                          System.out.print(i+","); 
  21.                    } 
  22.              } 
  23.        } 



3题目:打印出1000以内所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。结果:153,370,371,407、

Java代码  
北京联动北方科技有限公司

  1. View Code 
  2. public class mainTest { 
  3.       /** 
  4.        * 主要分别取得个位数就好了。 
  5.        * @param args 
  6.        */ 
  7.        public static void main(String[] args) { 
  8.              for (int i = 100; i < 1000; i++) { 
  9.                    math(i); 
  10.              } 
  11.        } 
  12.        public static void math(int i){ 
  13.              int i3=i%10;//个位数 
  14.              int i2=(i%100)/10;//十位数 
  15.              int i1=i/100;//百位数 
  16.              if(i==(i1*i1*i1)+(i2*i2*i2)+(i3*i3*i3)){ 
  17.                    System.out.println(i); 
  18.              } 
  19.             
  20.             
  21.        } 



4.题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。  

Java代码  
北京联动北方科技有限公司

  1. View Code 
  2. public class mainTest { 
  3.        /** 
  4.        * 学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表 
  5.        */ 
  6.        public static void main(String[] args) { 
  7.              test(90); 
  8.        } 
  9.        public static void test(int i){ 
  10.              String s =""; 
  11.              s=(i<60)?"C":(i>=90?"A":"B"); 
  12.              System.out.println(s); 
  13.             
  14.        } 
  15.       



5.题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在   第10次落地时,共经过多少米?第10次反弹多高

Java代码  
北京联动北方科技有限公司

  1. View Code 
  2. public class mainTest { 
  3.        /** 
  4.        * 一球从100米高度自由落下,每次落地后反跳回原高度的一半; 
  5.        * 再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高? 
  6.        */ 
  7.        public static void main(String[] args) { 
  8.              double s =0; 
  9.              double h =100; 
  10.             
  11.              for (int i = 1; i < 11; i++) { 
  12.                    s+=h; 
  13.                    System.out.println(s); 
  14.                    h=h/2; 
  15.                    System.out.println(h); 
  16.              } 
  17.              System.out.println(s); 
  18.        } 
  19.       



6.题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

Java代码  
北京联动北方科技有限公司

  1. View Code 
  2. public class mainTest { 
  3.        /** 
  4.        *题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 
  5.        * 
  6.        */ 
  7.        public static void main(String[] args) { 
  8.              int t=0; 
  9.              for (int i = 1; i < 5; i++) { 
  10.                    int s1=i; 
  11.                    for (int j = 1; j < 5; j++) { 
  12.                          int s2=j; 
  13.                          for (int k = 1; k < 5; k++) { 
  14.                                int s3=k; 
  15.                                String s= String.valueOf(s1)+String.valueOf(s2)+String.valueOf(s3); 
  16.                                if(s1!=s2&&s1!=s3&&s2!=s3){ 
  17.                                      t++; 
  18.                                      System.out.println(s); 
  19.                                } 
  20.                          } 
  21.                    } 
  22.                   
  23.              } 
  24.              System.out.println(t); 
  25.        } 




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论