華為上機題 等式變換

2021-07-22 23:15:08 字數 1073 閱讀 5580

輸入乙個正整數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

// 等式變換.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include#include #include #include #include #include #include#includeusing namespace std;

int ops[21];

const char sym[3] = ;

int result, num;

void dfs(int layer, int currentresult, int lastop, int lastsum)

printf(" = %d\n", result);

} return;

} ops[layer] = 2;

dfs(layer + 1, currentresult, lastop, lastsum); //continue

currentresult += (lastop) ? (-1 * lastsum) : lastsum;

ops[layer] = 0;

dfs(layer + 1, currentresult, 0, 0); //plus

ops[layer] = 1;

dfs(layer + 1, currentresult, 1, 0); //minus

}int _tmain(int argc, _tchar* argv)

system("pause");

return 0;

}

2013華為筆試上機題 等式變換

題目 等式變換 描述 輸入乙個正整數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 請編寫程式,統計滿足該輸入整數的所有等式的個數。採用遞迴方法 include incl...

華為2015機試 最後一題 等式變換

第三題 等式變換 輸入乙個正整數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 請編寫程式,統計滿足輸入整數的所有整數個數。輸入 正整數,等式右邊的數字 輸出 使該等式成...

華為機試真題 2014 63 等式變換

題目 輸入乙個正整數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 請編敲 統計滿足輸入整數的全部整數個數。輸入 正整數。等式右邊的數字 輸出 使該等式成立的個數 例子輸...