第一范文网 - 专业文章范例文档资料分享平台

JAVA经典算法50题

来源:用户分享 时间:2021-06-02 本文由吃货未泯 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

/*******************************************************************************
* @author DarkSee <gxlizq@>
*******************************************************************************/
JAVA经典算法50题
【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....
public class Demo01 {
public static void main(String args[]) {
for (int i = 1; i <= 20; i++)
System.out.println(f(i));
}
public static int f(int x) {
if (x == 1||x == 2)
return 1;
else
return f(x - 1) + f(x - 2);
}
}

public class Demo01 {
public static void main(String args[]) {
math mymath = new math();
for (int i = 1; i <= 20; i++)
System.out.println(mymath.f(i));
}
}
class math {
public int f(int x) {
if (x == 1||x == 2)
return 1;
else
return f(x - 1) + f(x - 2);
}
}

【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
public class Demo02{
public static void main(String[] args){
for(int i=2;i<=200;i++){
boolean flag=true;
for(int j=2;j<i;j++){
if(i%j==0){
flag=false;
break;
}
}
if(flag==true){
System.out.print(" "+i);
}
}
}
}

【程序3】 题目:打印出所有的 水仙花数 ,所谓 水仙花数 是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 水仙花数 ,因为153=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
public class Demo03 {
public static void main(String args[]) {
math mymath = new math();
for (int i = 100; i <= 999; i++)
if (mymath.shuixianhua(i) == true)
System.out.println(i);
}
}
class math {
public boolean shuixianhua(int x) {
int i = 0, j = 0, k = 0;
i = x/100;
j = (x%100)/10;
k = x%10;
if (x == i*i*i + j*j*j + k*k*k)
return true;
else
return false;
}
}

【程序4】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
1.程序分析:对n进行分解质因数,应先找到一个最小的质数i,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n > i,但n能被i整除,则应打印出i的值,并用n除以i的商,作为新的正整数你,重
复执行第一步。
(3)如果n不能被i整除,则用i+1作为i的值,重复执行第一步。
import java.util.Scanner;
public class Demo04 {
public Demo04() {
super();
}
public void fenjie(

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新高等教育JAVA经典算法50题全文阅读和word下载服务。

JAVA经典算法50题.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1205420.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top