習題7 13 數字表示式

2021-08-09 02:20:19 字數 1669 閱讀 8114

習題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...