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的主要内容,如果未能解决你的问题,请参考以下文章

图像处理一百题(1-10)

LeetCode第一百题—相同的数—Python实现

leetcode 简单 第一百题 压缩字符串

图像处理一百题(11-20)

图像处理一百题(11-20)

图像处理一百题(11-20)