📄 filtrate.java
字号:
package rmi;
import java.rmi.*;
import java.rmi.server.UnicastRemoteObject;
import java.lang.Math;
public class Filtrate extends UnicastRemoteObject implements RemoteFiltrate {
//numSign[]标示其对应下标的数是否是素数
private boolean[] numSign;
//素数的个数
private int primeNum;
//存放素数的数组
private int[] prime;
int j = 0;
int n = 0;
protected Filtrate() throws RemoteException {
super();
}
//利用素数的倍数不是素数
public int[] getPrime(int num) throws RemoteException {
numSign = new boolean[num + 1];
for (int i = 1; i <= num; i += 2) {
numSign[i] = true;
}
for (int i = 0; i < num + 1; i += 2) {
numSign[i] = false;
}
numSign[1] = false;
numSign[2] = true;
primeNum = 0;
n = (int) Math.sqrt(num);
for (int i = 3; i <= n; i += 2) {
if (numSign[i]) {
j = i + i;
while (j <= num) {
numSign[j] = false;
j += i;
}
}
}
for (int i = 0; i <= num; i++)
if (numSign[i])
primeNum++;
prime = new int[primeNum];
primeNum = 0;
for (int i = 0; i <= num; i++)
if (numSign[i]) {
prime[primeNum] = i;
primeNum++;
}
return prime;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -