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