您的位置:首页 > 其它

编写一个应用程序求1000以内的全部素数。完数

2011-05-29 16:09 597 查看
编写一个应用程序求1000以内的全部素数。
import
java.io.*;
import
java.io.RandomAccessFile;
public
class rafExample
{
RandomAccessFile
fp;

public
static
void main(String[] args)
throws
IOException{
rafExample
a=new
rafExample();

int
MaxValue=100;

a.createprime(MaxValue);}
public
void
createprime(int
max)throws
IOException{

fp=new
RandomAccessFile("primes.bin","rw");

fp.seek(0);

fp.writeInt(2);

int
k=3;

while(k<=max)

{if(isPrime(k))

fp.writeInt(k);

k=k+2;}

ShowPrimes(max);

fp.close();}
public
boolean
isPrime(int
k)
{ int
i=0;

boolean
yes=false;

for(i=2;i<=k/2;i++)

{if(k%i==0)
break;}

if(i>k/2)
yes=true;

return
yes;}

public
void
ShowPrimes(int
max)throws
IOException{

try{fp.seek(0);

System.out.println("[2.."+max+"]中有
"+(fp.length()/4)+"
个素数:");

for(int
i=0;i<(int)(fp.length()/4);i++){

fp.seek(i*4);

System.out.print(fp.readInt()+"
");

if((i+1)%5==0)
System.out.println();}

}catch(EOFException
e){}

System.out.println();}}

===================================================================================

1.
编写一个应用程序求1000以内的完数。

public
class PerfectNum {
public static void main(String args[]){
int
count=1;
for(int i=1;i<1000;i++){
int y=0;
for(int
j=1;j<i;j++)
if(i%j==0)
y+=j;
if(y==i)

{System.out.print(i+String.valueOf('/t'));
count++;

if(count%3==0)
System.out.println();
}
}
}
}
http://hi.baidu.com/wdasfasfas/blog/item/3c544f5dfc52bc272934f074.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐