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

求1000以内所有素数/合数(之和),java算法(23行)

2013-04-04 21:18 260 查看
这基本上是最简单的方法了,应该没有之一了,嘿嘿~

根据素数的定义:只能被1和他本身整除。1不是素数。

写出下面代码,运行正确。

把注释去掉可以求出1000以内所有素数的和。

class FindAll
{
//static int sum=0;
static void find(int i)
{
int t=0;
for(int k=1;k<=1000;k++)
{
if(i%k!=0)
t++;
if(t==998)
System.out.println(i);
//sum+=i;
}
}
public static void main(String[] args)
{
for(int i=0;i<=1000;i++)
{
if(i==1)
continue;
find(i);
}
//System.out.println(sum);
}
}

下面这段代码是求合数的代码,判断逻辑为:如果一个数能被至少3个数整出那么他就是合数。

同样,把注释去掉可以求出1000以内所有合数的和。

class FindAll
{
//static int sum=0;
static void find(int i)
{
int t=0;
for(int k=1;k<=1000;k++)
{
if(i%k==0)
t++;
if(t==3)
{
System.out.println(i);
//sum+=i;
break;
}
}
}
public static void main(String[] args)
{
for(int i=0;i<=1000;i++)
{
find(i);
}
//System.out.println(sum);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: