java一百题:1~4
Posted 星雨boy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java一百题:1~4相关的知识,希望对你有一定的参考价值。
(1).题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少
思路1:定义三个数:tot=0,a=0,b=1; 在for月份循环中tot=a+b,a=b,b=tot a的结果就是兔子的总数;
思路2:根据题意兔子三月大才能生育,所以定义前两个月没有兔子出生:if(月份==1||月份==2){return 1;} 之后的月份都(月份-1)+(月份-2)带入函数,因为新生的兔子没有三月大也不能生育;
完整代码:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
(2) 题目:判断101-200之间有多少个素数,并输出所有素数
* 分析:什么是素数,不能被自己和1整除的数。
思路:在规定的范围内,从2开始相除每个元素,如果有余数则是素数,没有则不是,这里用多函数的方式来方便编写代码,布尔值来判断是否为素数。
完整代码:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
(3). 题目:打印出所有的”水仙花数”,所谓”水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个”水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
思路:用三个变量(水仙花数只有三位)来分别存储三位数的每一位,即【a=/100;b=%100/10;c%10】,然后使用Math.pow()函数来判断就好了~
完整代码:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
4题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
思路1:分解质因数,从2开始(因为1不是因数)整除合数(即想被分解质因数的数),如果不能整除合数,则+1换3来整除,直到商为因数(不能被整除的数);
思路2:i=1,之后i++,i=2,当2不能整除时,i++,i=3,这样循环直到被整除或循环结束。
思路3:int tmp=unm/2;因为用整个unm来当做循环条件,有一半的循环是无意义的循环,这属于优化。
完整代码:
第一天,完成一百题还连续要24天,加油!!!
以上是关于java一百题:1~4的主要内容,如果未能解决你的问题,请参考以下文章