//列出1-1000的质数/素数classPrimeNumber{publicstaticvoidmain(String[] args){for(int i =2; i <=1000; i++){boolean flag =true;for(int j =2; j < i ; j++){if(i % j ==0){
flag =false;break;}}if(flag){System.out.println(i);}}}}
4.阿姆斯特朗数
/**
* 如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。
* 例如1^3 + 5^3 + 3^3 = 153
* 当n=3时,又称水仙花数,特指一种三位数,其各个数之立方和等于该数。
* 水仙花数共有4个,分别为:153、370、371、407
*/classTest{publicstaticvoidmain(String[] args){for(int i =1;i<=999;i++)show(i);}publicstaticvoidshow(int i){int sum =0;int temp = i;String str = i+"";while(temp !=0){int num = temp %10;
sum +=Math.pow(num,str.length());
temp /=10;}if(sum == i)System.out.println(i);}}
5.斐波那契数列
//斐波那契数列classFib{publicstaticvoidmain(String args[]){for(int i =1; i <=20; i++)System.out.println(f(i));}publicstaticintf(int x){if(x ==1||x ==2)return1;elsereturnf(x -1)+f(x -2);}}
importjava.util.*;classHuiWen{publicstaticvoidmain(String[] args){String str ="abac";if(judge(str)){System.out.println("true");}else{System.out.println("false");}}publicstaticboolean judge (String str){int len = str.length();for(int i =0; i < len/2;i++)if(str.charAt(i)!=str.charAt(len-1-i))returnfalse;returntrue;}}
importjava.util.*;/**
*回文数
*/publicclassSolution{/**
*
* @param x int整型
* @return bool布尔型
*/publicboolean isPalindrome (int x){// write code here// 边界判断if(x <0)returnfalse;int div =1;//while(x / div >=10) div *=10;// 循环停止while(x >0){int left = x / div;int right = x %10;// 如果不同则表示不是回文if(left != right)returnfalse;
x =(x % div)/10;
div /=100;}returntrue;}}
9.归并排序
//归并排序classMergeSort{//两路归并算法,两个排好序的子序列合并为一个子序列publicvoidmerge(int[]a,int left,int mid,int right){int[]tmp=newint[a.length];//辅助数组int p1=left,p2=mid+1,k=left;//p1、p2是检测指针,k是存放指针while(p1<=mid && p2<=right){if(a[p1]<=a[p2])
tmp[k++]=a[p1++];else
tmp[k++]=a[p2++];}while(p1<=mid) tmp[k++]=a[p1++];//如果第一个序列未检测完,直接将后面所有元素加到合并的序列中while(p2<=right) tmp[k++]=a[p2++];//同上//复制回原素组for(int i = left; i <=right; i++)
a[i]=tmp[i];}publicvoidmergeSort(int[] a,int start,int end){if(start<end){//当子序列中只有一个元素时结束递归int mid=(start+end)/2;//划分子序列mergeSort(a, start, mid);//对左侧子序列进行递归排序mergeSort(a, mid+1, end);//对右侧子序列进行递归排序merge(a, start, mid, end);//合并}}publicstaticvoidmain(String[] args){int[] a ={49,38,65,97,76,13,27,50};MergeSort merge =newMergeSort();
merge.mergeSort(a,0, a.length-1);System.out.println("排好序的数组:");for(int e : a)System.out.print(e+" ");}}