2
私の宿題の課題の1つは、配列内の特定の長さ内のすべての素数を見つけることでした。しかし、モジュラスや乗算、除算を使用せずに素数を見つけようとするのは難しいです。どんな助けでも大いに義務づけられます。私が難しい部分は、「それが1とそれ以外の数字で割り切れるかどうかをテストする」とマークされています。モジュラス、除算、または乗算を使用せずに素数を見つける
は、ここに私のコードです:あなたはSieve of Eratosthenes
を使用する必要がモジュラス、除算、または乗算を使用せずに、素数のリストが必要な場合は
class A {
public static void sieve(int [] array) {
//List of primes
int [] primes;
primes = new int[1000000];
//Setting the Array
for(int i = 1; i < array.length; i++) {
array[i] = i;
}
//Finding Primes
System.out.println("Your primes are: ");
for(int j = 0; j < array.length; j++) {
boolean prime = true;
int num = array[j];
//Testing if it's divisible by other numbers beside 1 and itself.
for(int n = 2; n < j; n++) {
num -= n;
if(num == 1) {
prime = false;
}
}
なぜモジュラス/除算/乗算を避けていますか?それは必須条件ですか?もしそうなら、私は彼らがあなたに数字のふるいを実行してもらいたいと思っています。例えばEratosthenesアルゴリズムの篩 - https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes –
はい!加算と減算のほかに算術演算子を使用しないようにする必要があり、プログラムの一部がSieveを作成しています。 – solorzke