RosettaCodeData/Task/Almost-prime/Processing/almost-prime.processing

38 lines
566 B
Plaintext

void setup() {
for (int i = 1; i <= 5; i++) {
int count = 0;
print("k = " + i + ": ");
int n = 2;
while (count < 10) {
if (isAlmostPrime(i, n)) {
count++;
print(n + " ");
}
n++;
}
println();
}
}
boolean isAlmostPrime(int k, int n) {
if (countPrimeFactors(n) == k) {
return true;
} else {
return false;
}
}
int countPrimeFactors(int n) {
int count = 0;
int i = 2;
while (n > 1) {
if (n % i == 0) {
n /= i;
count++;
} else {
i++;
}
}
return count;
}