12. Arrays Exercises 3
Compactor
Given an array of integers nums
, return an array containing only the
indices k
for which nums[k]
is one.
Example: compactor({1,0,1,1}) => {0,2,3}
.
Example:
{// 0 1 2 3 4 5 6 7
int[] nums = {0,0,1,0,1,0,0,1};
int[] cpct = compactor(nums);
int[] expected = {2,4,7};
}
Prime Number Sieve
Write a function public static int[] primeSieve (int n)
that returns
an array of length n with a 1 in index k when k is a prime number, and
0 otherwise.
Use some tester code to show the results of your function.
Recommended process:
-
Mark every number that is at least two as prime. Run your function and make sure that at this stage
primeSieve(10)
gives{0,0,1,1,1,1,1,1,1,1}
. -
Change every multiple of 2 to a zero. At this stage,
primeSieve(10)
should give{0,0,1,1,0,1,0,1,0,1}
. -
Automate the process of giving multiples a value of zero for every other number.
Prime Factorization
Use the tools you have to write a program to find the prime factorization of a number. It is OK to limit your program to working with numbers with less than 20 factors.
Signature: public static int[] pf (int n)
.
Examples:
pf(8) => {2,2,2}
pf(18) => {2,3,3}