快算24的解法

2021-06-28 19:36:06 字數 1301 閱讀 6685

time limit:1000ms

memory limit:65536k

total submissions:4646

accepted:2851

description

給定4個不大於10的正整數(範圍1-10),要求在不改變資料先後順序的情況下,採用加減乘除四種運算,找到乙個表示式,使得最後的結果是24。

input

4個不大於10的正整數。輸入資料保證存在唯一解。

output

不改變位置順序,由'+','-','*','/'4個運算子和'(',')'組成的表示式

sample input

5 5 1 5
sample output

5*(5-(1/5))
關於這個題,說說自己的想法,乍一看比較麻煩,但是以現在我學的知識來做確實比較麻煩

#include "stdio.h"

#include "string.h"

void xunzhao(double a,double b,double c,double d);

int jisuan1(double a,double b,double c,double d,int i,int j,int k);

double jisuan2(double a,int i,double b);

int main()

void xunzhao(double a,double b,double c,double d)

}char ms[4]=;//ms代表mathematical symbol運算子,需要將i,j,k轉換成符號

int jisuan1(double a,double b,double c,double d,int i,int j,int k)

if(jisuan2(jisuan2(a,i,jisuan2(b,j,c)),k,d)==24.000000)

if(jisuan2(a,i,jisuan2(jisuan2(b,j,c),k,d))==24.000000)

if(jisuan2(jisuan2(jisuan2(a,i,b),j,c),k,d)==24.000000)

if(jisuan2(a,i,jisuan2(b,j,jisuan2(c,k,d)))==24.000000)

return p;

}double jisuan2(double a,int i,double b)

}

快算24 回溯

成績 10開啟時間 2020年04月7日 星期二 08 55 折扣0.8 折扣時間 2020年05月1日 星期五 23 55 允許遲交 否關閉時間 2020年05月1日 星期五 23 55 一副牌,除了大小王之外還有52張,從1到13每個數目各有四張。要求設計乙個程式,對於任意給出52張牌中的四張,...

算24點程式

基本原理是窮舉4個整數所有可能的表示式,然後對表示式求值。表示式的定義 expression expression number operator expression number 因為能使用的4種運算子 都是2元運算子,所以本文中只考慮2元運算子。2元運算子接收兩個引數,輸出計算結果,輸出的結果...

遞迴之算24

給出4個小於10的正整數,你可以使用加減乘除以及括號把這四個數字連線起來得到乙個表示式,現在的問題是,是否存在一種方式使得到的結果剛好為24,這裡加減乘除以及括號的運算結果以及優先順序和我們平時的定義一樣,除法是實數除法 例 5 5 5 1 5 5 1 5 24 1 1 4 2 無法得到24 inc...