-1

如何计算出必须添加多少次空头才能获得另一只空头的价值?

我知道,我知道,这是一个措辞奇怪的问题。但在更具体的情况下,没有 Java 的所有原始类型......

基本上,我有一个short x,我们将使用占位符7。我也有一个short y,我会说是数字5。然后,我有一个short z,我会说是236

现在,我想做的是得到一个integer计算我必须将数字添加到数字y (5)中的次数x (7)才能达到最大值z (236)

显然,我现在可以用铅笔和纸来做这件事,但我需要的是我可以输入 3 个值的东西,它会给我integer作为输出 -我必须将值 y 添加到的次数数字 x 以达到 z 的最大值。

如果你仍然不明白我在做什么,那么一个更直观的例子是:

(Y * someint) + X = Z我怎么去someint

4

4 回答 4

7
int result = (z - x) / y;

结果是int即使除法有一个在这种情况下被忽略的余数。

于 2013-08-02T18:17:05.120 回答
1

正如其他人所说,这是简单的划分。但是,如果您正在寻找其他完全不必要的方法来做到这一点,那么这是一种循环方式......

public static int getNumOfAdds(short x, short y, short target){
    int i;
    for(i = 0; y*i + x  < target; i++){}
    return i;
}
于 2013-08-02T18:23:39.470 回答
0
val = (Z-X)/Y;
rem_val = (Z-X)%Y;

if (rem_val != 0)
  val++;

这应该这样做。

于 2013-08-02T18:18:55.727 回答
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)

于 2013-08-02T18:19:37.757 回答