我获得了一项任务,即开发一种为邮资分发邮票的算法 邮票自动售货机。我需要编写一个函数来返回a的最小戳记数 给定的价值。我们可以假设机器上总会有一分钱的邮票。
函数原型如下:
int min_number_of_stamps (
const int* array, /* input array of sorted stamp values */
size_t array_size, /* number of elements in array */
int request /* desired value to of stamps */
);
该函数将返回给定的最小戳记数
值。例如,如果数组是[90,30,24,15,12,10,5,3,2,1]
,那么
请求为32
,输出应为2
,one 30 cent stamp
和one 2
cent stamp
。
有人可以帮我解决这个问题,或者给我一些暗示吗?
答案 0 :(得分:4)
你的确有一个良好的开端:你需要一个阵列。
与C / C ++的两个不同之处:
1)您不需要“array_size”:Java数组“知道”它们有多长
2)你不能声明“const int * array”。相反,您必须指定“int [] array”...然后初始化它。
这是一个很好的链接:
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html
PS:
这是您可能考虑的Java类的框架:
public class StampVendingMachine {
public static void main (String[] args) {
// Your program starts in this method...
}
public int minStamps (int num_stamps) {
// This is where you can compute how many stamps
}
// This can be your "lookup table"
private int[] min_number_of_stamps;
}
PPS:
另一个链接:
答案 1 :(得分:1)
因为这是作业:
我是Java的新手,想知道是否有人可以帮我解决这个问题
如果你的意思是......“给我一个解决方案”......这显然是不恰当的,而且不符合你的长期利益。
......或者给我一些暗示去做。
行。