您的位置:首页 > 编程语言 > Java开发

Java常见算法编程题

2014-08-09 00:00 363 查看
摘要: Java常见算法编程题

题目一:

古典问题:有一对兔子,从出生后每三个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总共有多少对?

程序分析:每个月的兔子总对数依次为:1,1,2,3,5,8,13.......当前月的兔子数是前两个月兔子数之和

Public class FirstRubbit(){
public static final int MaxNumber=15;
public static void main(String args[]){
int i1=1;
int i2=1;
int i=0;//用来存储前一个月的兔子总对数
for(int j=3;j<=MaxNUmber;j++){
i=i2;
i2=i1+i2;//用来存储当前月的兔子总数
i1=i;//用来存储前两个月的兔子总数
System.out.println("第"+j+"个月,"+"兔子总对数为"+i2);
}
}

}

题目二:判断101~200之间有多少个素数,并输出所有素数。

分析:若是素数则不能被2到根号下这个数的所有数整除

Public class PrimeNumber(){
int count=0;//计算素数的数量
for(int x=101;x<200;x++){
boolean flag=true;//用来判断是否是素数
for(int i=2;i<=Math.sqrt(x);i++){
if(x%i==0){
flag=false;//不是素数
break;
}
}
if(flag){
count++'
System.out.println("总共有"+count+"个素数"+"依次为"+x);
}
}
}

题目三:数组的常用排序算法

1、冒泡排序

Public class BubbleSort(){
public static void main(String args[]){
int[] arr=int[]{23,12,56,63,1};
BubbleSort sorter=new BubbleSort();
sorter.sort(arr);//调用排序方法将数组排序
showArray(arr);//输出冒泡排序后的数组元素

}
public void sort(int[] arr){
for(int x=1;x<arr.length;x++){
//比较相邻的两个数,较大的往后冒泡
for(int y=0;y<arr.length-x;y++){
if(arr[y]>arr[y+1]){
&nbs
7fe0
p;                  int temp=arr[y];//把第一个元素保存到临时变量中
arr[y]=arr[y+1];//把第二个元素保存到第一个元素中
arr[y+1]=temp;//把临时变量保存到第二个元素中
}
}
}
}
public void showArray(int[] arr){
for(int i:arr){
System.out.print(i+",");
}
System.out.println();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: