2012-08-11 40 views
0
I'm very new to java, so i need a help . here is my problem: 

我有两个重量1克和5克。现在用户将给出他/她想要计算的体重,并且用户也将给出1克和5克的计数。该程序将返回true,如果它可以计算,否则它将返回false。我给你一个例子:使用多个重量的组合来衡量重量

计数1克5(比如说) 计数5克是3(比如说) 重量通过使用两个1克和两个5克i到测量12克

可以做12克。所以它会返回true。

请帮我做到这一点。

在此先感谢。

+0

这是功课吗?如果是的话,你应该编辑你的问题,并添加'家庭作业'标签。 – Pshemo 2012-08-11 11:28:21

+0

是的,我可以,但用户会给任何数量的计数。用户可以减少1克计数的数量。 – candy 2012-08-11 11:33:00

回答

1

由于这是功课所以这里要测量暗示的算法解决方案

加成方式

首先,你应该从重量拿出5的倍数。 剩余重量应该等于1克重量的数量。

例如:

当输入3x5gm2x1gm并要权衡12gms

12/5 = 2 (5 gram weights) 
12 % 5 = 2 (1 gram weights) 

如果这些数字是不到你有你有答案的权重数。

减法路

首先,你应该从重量拿出5的倍数来衡量。

例如:

当输入3x5gm2x1gm并要权衡13gms

13/5 = 2 (5 gram weights) 
13 % 5 = 3 (1 gram weights) 

既然你没有足够的权重,这样做,那么你可以看看,如果您可以使用1个额外的5gm和剩余的5-1gm weights1x5gm5-3=2x1gm weights来管理余额,因此答案将为3x5gm2x1gm

+0

非常感谢你... – candy 2012-08-11 11:45:31

+0

欢迎来到SO :) – SiB 2012-08-11 11:49:23