如何确定必须添加一个空头以获得另一个空头的价值的次数?
我知道,我知道,这是一个奇怪的措辞问题。但是在更具体的情况下没有所有原始类型的Java ......
基本上,我有short x
,我们将使用占位符7
。我还有一个short y
,我要说的是数字5
。然后,我有short z
,我会说236
。
现在,我想要做的是获得一个integer
,它计算我必须将数字y (5)
添加到数字x (7)
的次数,以达到最大值{ z (236)
。
显然,我现在可以用铅笔和纸做一些,但我需要的是能输入3个值的东西,它会给我integer
作为输出 - < em>我必须将值y添加到数字x以获得z的最大值的次数。
如果你仍然不明白我在做什么,那么更直观的例子是:
(Y * someint) + X = Z
我如何进入someint
?
答案 0 :(得分:7)
int result = (z - x) / y;
结果是int
,即使除法具有在这种情况下被忽略的余数。
答案 1 :(得分:1)
正如其他人所说,这是简单的划分。但是,如果你正在寻找其他完全不必要的方法来实现这一点,那就是循环方式......
public static int getNumOfAdds(short x, short y, short target){
int i;
for(i = 0; y*i + x < target; i++){}
return i;
}
答案 2 :(得分:0)
val = (Z-X)/Y;
rem_val = (Z-X)%Y;
if (rem_val != 0)
val++;
这应该这样做。
答案 3 :(得分:0)
递归?
尝试类似
的内容Func(short x , short y, short z, int c)
if ( x >= z )
return c
else
return Func(x+y,y,z,c)
你的第一个电话是Func(x,y,z,0)