藍橋杯 趣味算式

2021-08-10 14:05:46 字數 2216 閱讀 9019

題目

匪警請撥110,即使手機欠費也可撥通!

為了保障社會秩序,保護人民群眾生命財產安全,警察叔叔需要與罪犯鬥智鬥勇,因而需要經常性地進行體力訓練和智力訓練!

某批警察叔叔正在進行智力訓練:

1 2 3 4 5 6 7 8 9 = 110;

請看上邊的算式,為了使等式成立,需要在數字間填入加號或者減號(可以不填,但不能填入其它符號)。

之間沒有填入符號的數字組合成乙個數,例如:12+34+56+7-8+9 就是一種合格的填法;123+4+5+67-89 是另乙個可能的答案。

請你利用計算機的優勢,幫助警察叔叔快速找到所有答案。

每個答案佔一行。形如:

12+34+56+7-8+9

123+4+5+67-89

......

已知的兩個答案可以輸出,但不計分。

各個答案的前後順序不重要。

注意:請仔細除錯!您的程式只有能執行出正確結果的時候才有機會得分!

請把所有類寫在同乙個檔案中,除錯好後,存入與【考生資料夾】下對應題號的「解答.txt」中即可。

相關的工程檔案不要拷入。

請不要使用package語句。

源程式中只能出現jdk1.5中允許的語法或呼叫。不能使用1.6或更高版本。

分析

題目可以看成在9個數字中間填8個符號,引入#符號,作為分隔符,表示兩邊的數字需要連起來。

8個位置每個位置都可能填入三種符號:#、+、-。

遞迴遍歷所有的可能性,然後計算結果,滿足條件的算式就加入到集合中,最後列印出來。

原始碼

private

static hashset

sets =

newhashset

();public

static

void

main

(string[

] args)

f1(a,1)

;for

(string c : sets)

}private

static

voidf1(

char

a,int index)

//該位置可能是#,表示沒有運算子,應該連線兩端數字

a[index]

='#';f1

(a, index+2)

;//該位置可能

a[index]

='+';f1

(a, index+2)

; a[index]

='-';f1

(a, index+2)

;}private

static

voidf2(

char

a)else

if(a[i]

=='#'

)else

} list1.

add(sb.

tostring()

);//不要忘記把最後乙個數字加上

if(list1.

size()

==0|| list2.

size()

==0)//計算等式的值

int sum = integer.

valueof

(list1.

get(0)

);for(

int i =

0; i < list2.

size()

; i++)if

(list2.

get(i)

=='-')}

//滿足條件就將等式字串加入到集合中

if(sum ==

110)

sets.

add(sb2.

tostring()

);}}

結果

12+34+56+7-8+9

1+234-56-78+9

123-4-5+6+7-8-9

1+2+34+5+67-8+9

123+4+5+67-89

123+4-5-6-7-8+9

123-4+5-6-7+8-9

12+3+45+67-8-9

1-2+3+45-6+78-9

12-3+4-5+6+7+89

一共找到10種滿足條件的等式

java 藍橋杯 趣味算式

匪警請撥110,即使手機欠費也可撥通!為了保障社會秩序,保護人民群眾生命財產安全,警察叔叔需要與罪犯鬥智鬥勇,因而需要經常性地進行體力訓練和智力訓練!某批警察叔叔正在進行智力訓練 1 2 3 4 5 6 7 8 9 110 請看上邊的算式,為了使等式成立,需要在數字間填入加號或者減號 可以不填,但不...

藍橋杯 趣味算式填符號

匪警請撥110,即使手機欠費也可撥通!為了保障社會秩序,保護人民群眾生命財產安全,警察叔叔需要與罪犯鬥智鬥勇,因而需要經常性地進行體力訓練和智力訓練!某批警察叔叔正在進行智力訓練 1 2 3 4 5 6 7 8 9 110 請看上邊的算式,為了使等式成立,需要在數字間填入加號或者減號 可以不填,但不...

藍橋杯 神奇算式

由4個不同的數字,組成的乙個乘法算式,它們的乘積仍然由這4個數字組成。比如 6 x 210 1260 8 x 473 3784 27 x 81 2187 都符合要求。如果滿足乘法交換律的算式算作同一種情況,那麼,包含上邊已列出的3種情況,請輸出剩餘的滿足要求的算式且按照第乙個因數從小到大排列,第乙個...