Consider the following recursive implementation of the rod cutting problem:
#include<stdio.h>
#include<limits.h>
int max_of_two(int a, int b)
{
if(a > b)
return a;
return b;
}
int rod_cut(int *prices, int len)
{
int max_price = INT_MIN; // INT_MIN is the min value an integer can take
int i;
if(len <= 0 )
return 0;
for(i = 0; i < len; i++)
max_price = max_of_two(_____________); // subtract 1 because index starts from 0
return max_price;
}
int main()
{
int prices[]={2, 5, 6, 9, 9, 17, 17, 18, 20, 22},len_of_rod = 10;
int ans = rod_cut(prices, len_of_rod);
printf("%d",ans);
return 0;
}
Complete the above code.
#include<stdio.h>
#include<limits.h>
int max_of_two(int a, int b)
{
if(a > b)
return a;
return b;
}
int rod_cut(int *prices, int len)
{
int max_price = INT_MIN; // INT_MIN is the min value an integer can take
int i;
if(len <= 0 )
return 0;
for(i = 0; i < len; i++)
max_price = max_of_two(_____________); // subtract 1 because index starts from 0
return max_price;
}
int main()
{
int prices[]={2, 5, 6, 9, 9, 17, 17, 18, 20, 22},len_of_rod = 10;
int ans = rod_cut(prices, len_of_rod);
printf("%d",ans);
return 0;
}A. max_price, prices[i] + rod_cut(prices,len - i - 1)
B. max_price, prices[i - 1].
C. max_price, rod_cut(prices, len - i - 1)
D. max_price, prices[i - 1] + rod_cut(prices,len - i - 1)
Answer: Option A

Join The Discussion