编写一个应用程序求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