資源簡介
c++語言,通過棧實現,輸入任意四個整數,輸出所有可能得到24的結果

代碼片段和文件信息
//西安科技大學-計算機科學與技術學院
#include???
#include???
#include???
using?namespace?std;
const??double??PRECISION?=?1E-6;
const??int??COUNT_OF_NUMBER?=?4;
const??int??NUMBER_TO_BE_CAL?=?24;
double??number[COUNT_OF_NUMBER];
string??expression[COUNT_OF_NUMBER];
bool?Judgement?=?false;????????????????????//判斷是否有解。
int?count?=?0;
void??Search(int???n)
{
if?(n?==?1)
{
if?(fabs(number[0]?-?NUMBER_TO_BE_CAL)?<=?PRECISION)??//對于除法,要小心小數的精確位數
{
cout?<pression[0]?<“\t\t“;
Judgement?=?true;
count++;
if?((count?%?3)?==?0)
cout?< }
else
{
}
}
for?(int?i?=?0;?i? {
for?(int?j?=?i?+?1;?j? {
double???a?b;
string???expa?expb;
a?=?number[i];
b?=?number[j];
number[j]?=?number[n?-?1];???//遞歸之后,n比以前小一位,所以可以不停向前賦值?
expa?=?expression[i];
expb?=?expression[j];
expression[j]?=?expression[n?-?1];???//遞歸之后,n比以前小一位,所以可以不停向前賦值
expression[i]?=?‘(‘?+?expa?+?‘+‘?+?expb?+?‘)‘;???//加法不需要分順序
number[i]?=?a?+?b;
Search(n?-?1);
expression[i]?=?‘(‘?+?expa?+?‘-‘?+?expb?+?‘)‘;???//減法應該分順序,減數以及被減數
number[i]?=?a?-?b;
Search(n?-?1);
expression[i]?=?‘(‘?+?expb?+?‘-‘?+?expa?+?‘)‘;???//減法應該分順序,減數以及被減數
number[i]?=?b?-?a;
Search(n?-?1);
expression[i]?=?‘(‘?+?expa?+?‘*‘?+?expb?+?‘)‘;???//乘法不需要分順序
number[i]?=?a???*???b;
Search(n?-?1);
if?(b?!=?0)
{
expression[i]?=?‘(‘?+?expa?+?‘/‘?+?expb?+?‘)‘;???//除法應該分順序,除數以及被除數
number[i]?=?a?/?b;
Search(n?-?1);
}
if?(a?!=?0)
{
expression[i]?=?‘(‘?+?expb?+?‘/‘?+?expa?+?‘)‘;???//除法應該分順序,除數以及被除數
number[i]?=?b?/?a;
Search(n?-?1);
}
number[i]?=?a;??????????????????//這4句語句是為了防止如果上面幾種可能都失敗了的話
number[j]?=?b;??????????????????//就把原來的賦值撤消回去以無干擾的正確的進入到下一次
expression[i]?=?expa;???????????//for循環隊列中。
expression[j]?=?expb;???????????//
}
}
}
int??main()
{
cout?<“請依次輸入4個數字:\n“;
for?(int?i?=?0;?i? {
char???buffer[20];
cout?<“第“?< cin?>>?number[i];
itoa(number[i]?buffer?10);???//itoa()函數的作用是把第一個參數(數值)傳送到第二個參數(字符串)中去,第三個
???//參數(int型)是該數值在字符串里以什么進制存放。
expression[i]?=?buffer;
}
cout?< Search(COUNT_OF_NUMBER);
if?(Judgement?==?true)
{
cout?<“\n成功“?< cout?<“所以可以計算的次數總和?=?“?< }
else
{
cout?<“失敗“?< }
system(“pause“);
return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????..A..H.?????34304??2018-10-13?12:35??數據結構實習2-24點\.vs\數據結構實習2-24點\v15\.suo
?????文件????4747264??2018-10-13?12:35??數據結構實習2-24點\.vs\數據結構實習2-24點\v15\Browse.VC.db
?????文件???25690112??2018-10-13?12:35??數據結構實習2-24點\.vs\數據結構實習2-24點\v15\ipch\AutoPCH\d414a9a41e2ffba6\MAIN.ipch
?????文件??????46080??2018-10-01?17:47??數據結構實習2-24點\Debug\數據結構實習2-24點.exe
?????文件?????338956??2018-10-01?17:47??數據結構實習2-24點\Debug\數據結構實習2-24點.ilk
?????文件?????593920??2018-10-01?17:47??數據結構實習2-24點\Debug\數據結構實習2-24點.pdb
?????文件?????306176??2018-10-01?18:07??數據結構實習2-24點\數據結構實習2-24點\Debug\vc141.idb
?????文件?????372736??2018-10-01?18:07??數據結構實習2-24點\數據結構實習2-24點\Debug\vc141.pdb
?????文件???????1982??2018-10-01?18:07??數據結構實習2-24點\數據結構實習2-24點\Debug\數據結構實習2-24點.log
?????文件????????602??2018-10-01?18:07??數據結構實習2-24點\數據結構實習2-24點\Debug\數據結構實習2-24點.tlog\CL.command.1.tlog
?????文件??????18596??2018-10-01?18:07??數據結構實習2-24點\數據結構實習2-24點\Debug\數據結構實習2-24點.tlog\CL.read.1.tlog
?????文件????????308??2018-10-01?18:07??數據結構實習2-24點\數據結構實習2-24點\Debug\數據結構實習2-24點.tlog\CL.write.1.tlog
?????文件???????1062??2018-10-01?17:47??數據結構實習2-24點\數據結構實習2-24點\Debug\數據結構實習2-24點.tlog\li
?????文件???????3226??2018-10-01?17:47??數據結構實習2-24點\數據結構實習2-24點\Debug\數據結構實習2-24點.tlog\li
?????文件????????390??2018-10-01?17:47??數據結構實習2-24點\數據結構實習2-24點\Debug\數據結構實習2-24點.tlog\li
?????文件??????????0??2018-10-01?18:07??數據結構實習2-24點\數據結構實習2-24點\Debug\數據結構實習2-24點.tlog\unsuccessfulbuild
?????文件????????229??2018-10-01?18:07??數據結構實習2-24點\數據結構實習2-24點\Debug\數據結構實習2-24點.tlog\數據結構實習2-24點.lastbuildstate
?????文件???????2761??2018-10-01?18:02??數據結構實習2-24點\數據結構實習2-24點\main.cpp
?????文件?????????18??2018-09-26?18:52??數據結構實習2-24點\數據結構實習2-24點\TGame.h
?????文件???????5837??2018-09-27?19:18??數據結構實習2-24點\數據結構實習2-24點\數據結構實習2-24點.vcxproj
?????文件????????826??2018-09-26?18:44??數據結構實習2-24點\數據結構實習2-24點\數據結構實習2-24點.vcxproj.filters
?????文件???????1489??2018-09-26?18:44??數據結構實習2-24點\數據結構實習2-24點.sln
?????目錄??????????0??2018-10-01?17:43??數據結構實習2-24點\.vs\數據結構實習2-24點\v15\ipch\AutoPCH\d414a9a41e2ffba6
?????目錄??????????0??2018-10-01?18:07??數據結構實習2-24點\.vs\數據結構實習2-24點\v15\ipch\AutoPCH
?????目錄??????????0??2018-09-26?18:49??數據結構實習2-24點\.vs\數據結構實習2-24點\v15\ipch
?????目錄??????????0??2018-10-13?12:35??數據結構實習2-24點\.vs\數據結構實習2-24點\v15
?????目錄??????????0??2018-10-01?17:49??數據結構實習2-24點\數據結構實習2-24點\Debug\數據結構實習2-24點.tlog
?????目錄??????????0??2018-09-26?18:48??數據結構實習2-24點\.vs\數據結構實習2-24點
?????目錄??????????0??2018-10-01?17:49??數據結構實習2-24點\數據結構實習2-24點\Debug
????...D.H.?????????0??2018-09-26?18:48??數據結構實習2-24點\.vs
............此處省略6個文件信息
- 上一篇:追趕法.rar
- 下一篇:ldpc編譯碼c代碼
評論
共有 條評論