{wo.site.searchform}
一些Java经典算法
1.留言板分页问题
有x条留言,每页显示n条留言,共m页。
m=(x+n-1)/n
2.走马灯问题
让x的值总在0到9之间循环变化。
int x=0;
while(true)
{
x=(x+1)%10;
}
3.时间复杂度最小的素数查找方法
public static void main(String[] args)
{
int n=50;//素数查找上限,即素数查找范围是2到50,左闭右开
int count=0;//素数个数
int[]num=new int[n];//素数的集合
double sqrt;//某数的平方根
for(int i=2;i<n;i++)
{
System.out.println("正在检查"+i+",素数已有"+count+"个");
num[count++]=i;//不管是不是素数,先放进素数集合,素数个数加1
sqrt=Math.sqrt(i);//得到它的平方根
for(int j=0;num[j]<=sqrt;j++)
{
if(i%num[j]==0)//如果不是素数
{
count--;//素数个数减1
System.out.println(i+"%"+num[j]+"=0,非素数,素数已有"+count+"个");
break;
}else if(num[j+1]>sqrt)//如果是素数
{
System.out.println(i+"%"+num[j]+"≠0,是素数,素数已有"+count+"个");
}else//不能确定是不是素数
{
System.out.println(i+"%"+num[j]+"≠0");
}
}
}
}
2017-02-03 05:02:05 -0500
Subscribe |
Register |
Login
| N