A garden contains N plant beds, all in a row. Each bed will contain either carrots or parsley, but no two neighboring beds may both contain parsley.
a) Write a function void
garden(
int
n)
that takes N, the size
of the garden, and prints out all
possible ways that exist to plant these vegetables in the
garden. For example, garden(
3
)
might print
C C C P C C C P C C C P P C P
b) Write a function int ways(int n)
that takes N, the
size of the garden, and returns the number
of possible ways that exist to plant these vegetables in the
garden. For example, ways(
3
)
will print 5.
a) Write a function that takes an array coins[]
with the denominations of various coins, plus an integer sum
.
The method should return the smallest number of coins that can form
the given sum. Each denomination may be used any number of times in
the sum. For example, if coins
is [1, 3, 4]
and sum
is 6, the function will return 2 since there are
2 coins in the sum 3 + 3.
b) Modify your function so that it returns an array with the actual coin values needed to form the sum minimally.
Consider this problem: we are given a horizontal array of squares, each with an integer. For example the array might be
2 3 1 1 2
A button begins on the leftmost square. At each step, if the button is on a square with the number k then the button may jump to the right by any number of squares that is less than or equal to k. For example, with the array above, in the first step the button may jump right either by 1 or 2 squares. We wish to determine the smallest number of steps needed for the button to jump past the right edge of the array. For example, with the array above, this number is 3, since the button can jump right by 1, then by 3, then by 1 or 2.
a) Write a function jumps()
that
takes an array of integers, and returns the smallest number of steps
needed to jump past the right edge.
b) Modify your function so that it also returns a string containing the sizes of the jumps to take to achieve this minimum.