習題7-13:數字表示式
題意:
給定乙個數字,可以在中間插入+ - * 使得式子等於2000.
思路:
暴力列舉,最多8個位置,每個位置有4種情況,最多4^8。 可行。不過要注意題目中要按字典序輸出,還有乙個坑點,就是至少要插入乙個運算子,所以2000=是impossible。
(還涉及中綴表示式轉字尾表示式)
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
typedef
long
long ll;
const
int maxn = 1e6 + 10;
const
double eps = 1e-6;
const
int inf = 1
<< 30;
string s;
char ant[5] = " +-*";
setanswer;
bool flag;
int num[15], d;
string ans;
bool judge(int n)
}ans += s[n];
///四則運算表示式模板
string ans2;
stack
sign;
int q[15];
int tot = 0, sum = 0;
for(int i = 0; i < ans.size(); i++)
}q[tot++] = sum;
for(int i = 0; i < ans.size(); i++)
ans2 += sign.top();
sign.pop();
} }
else
sign.push(ans[i]);}}
}}
while(!sign.empty())ans2 += sign.top(), sign.pop();
//for(int i = 0; i < tot; i++)coutsum = 0;
int a, b;
stack
took; // couti = i + q[tot++] - 1;
took.push(sum);
sum = 0;
}else
}//coutreturn
false;
}void dfs(int n)
return ;
}for(int i = 0; i < 4; i++)
}int main()
d = s.size();
answer.clear();
flag = 0;
dfs(0);
if(!flag)
else
數字表示式求值程式 c c
乙個控制台下的數字表示式求值程式 c c 源 見下 include include include include include include using namespace std 設定運算子優先順序的演算法 int priority const string opera 運算子優先順序 el...
英語數字表達方式
會聽懂英語的狗 2018 01 05 05 17 05 1 整數和小數的讀法 3.24可以讀作three point twenty four或three twenty four。另外比較正式的說法為 three dollars and twenty four cents,但是在一般日常生活中幾乎是聽...
C 把金額轉換為漢字表示式
建立者 菜刀居士的部落格 建立日期 2014年09月04號 功能 money型別轉換 把金額轉換為漢字表示的數量,小數點後四捨五入保留兩位 小寫金額 人民幣大寫 public static string amounttochinese decimal amount 如果是負數,先轉換為正數 bool...