求123456789 x成立個數

2021-09-30 12:23:12 字數 1300 閱讀 7266

最近,被面試到a, b, c, d, ... ,x,一組數中,通過加減法,能否得到某個數的演算法。假設可以在a前面新增『+』或者『-』。

如果只有加減法,那麼自然可以用位運算。比如:

1,2,3,4得到2,那麼可以認為0000表示全是負書,0010表示第三個數是正數。

那麼有:

public class addsumtotarget 

int n = nums.length;

int k = 1 << n;

for (int i = 0; i < k; ++i)

if (sum == target)

} return false;

} public static void main(string args) , 6));

system.out.println(addsumto(new int , 2));

system.out.println(addsumto(new int , 11));

}}

但是,近期看到華為有這樣的題目,與上面的題目是類似的,但由於結果集不能用二進位制計算,所以回溯做。

題目:

輸入乙個正整數x,在下面的等式左邊的數字之間新增+號或者-號,使得等式成立。

1 2 3 4 5 6 7 8 9 = x

比如:12-34+5-67+89 = 5

1+23+4-5+6-7-8-9 = 5

請編寫程式,統計滿足輸入整數的所有整數個數。

輸入:       正整數,等式右邊的數字

輸出:       使該等式成立的個數

樣例輸入:5

樣例輸出:21

public class formulation ;

private static char f = ;

private static int n = 0;

public static void wayto(int x)

public static void wayto(int indice, int x)

for (int i = 0; i < 3; ++i)

} private static int check(int x)

while (i < 17) else else

}i += 2;

} sum += op * a;

return sum == x ? 1 : 0;

} public static void main(string args)

}

完成等式 1 2 3 4 5 6 7 8 9 X

有乙個未完成的等式 1 2 3 4 5 6 7 8 9 x 當給出整數n的具體值後,請你在2,3,4,5,6,7,8,9這8個數字的每乙個前面,或插入運算符號 或插入乙個運算符號 或不插入任何運算符號,使等式成立,並統計出能使等式成立的算式總數,若無解,則輸出0。例如 取x為108時,共能寫出15個...

x 的 x 次方等於10,求 x

當 x 的 x 次方為10時,求 x 的值,精確到小數字後9位 過程如下 2 的 2 次方 小於 10 3 的 3 次方 大於 10 因此 x 在 2 到 3 之間。找出整數部分後,需要計算出小數部分,然後把兩部分加到乙個串裡即可 可以以串的形式輸出,也可以轉成浮點數輸出,下面的程式是以串的形式輸出...

求後序遍歷x

題目描述 description 輸入一棵二叉樹的先序和中序遍歷序列,輸出其後序遍歷序列。輸入描述 input description 共兩行,第一行乙個字串,表示樹的先序遍歷,第二行乙個字串,表示樹的中序遍歷。輸出描述 output description 僅一行,表示樹的後序遍歷序列。樣例輸入 ...