3 3火柴棍等式

2021-07-28 11:42:24 字數 814 閱讀 5300

/*

情景描述:

有n根火柴棍,希望拼出形如a+b=c的等式。

例如14根,則可以拼出兩個不同等式0+1=1和1+0=1.

注意:1、加號和等號格仔需要兩根火柴棍

2、如果a!=b,則a+b=c和視b+a=c為不同的等式(a,b,c都大於0)

3、所有根火柴棍都必須全部用上

題目:現在有m根(m<=24)火柴棍,求能拼出的等式即數目

*///要養成從主函式開始閱讀程式的習慣

#include#includeusing namespace std;

int fun(int x);//用乙個陣列來記錄0~9每個數字需要用多少根火柴棍

while(x/10!=0)

//最後加上此時x所需用到的火柴棍的根數(此時x一定是一位數)

num+=f[x];

return num;//返回需要火柴棍的總根數

}//請從此處開始閱讀程式,從主函式開始閱讀程式是乙個好習慣

int main()

} }cout<<"一共可以拼出"

} /*

思路解析:

分別列舉a,b,c

因為題目中m根(m<=24)火柴棍,除去"+"號和"="號占用的4根火柴棍,那麼最多剩下20根火柴棍。

而0~9這10個數字中,數字1所需火柴棍最少(2根),而20根火柴棍最多只能組成10個1。

因此a+b=c這個等式中a,b,c中的任意乙個數都不能超過11111。

時間複雜度o(n^2)約等於11112^2.

*/

火柴棍等式

給你n根火柴棒,你可以拼出多少個形如 a b c 的等式?等式中的a b c是用火柴棒拼出的整數 若該數非零,則最高位不能是0 用火柴棒拼數字0 9的拼法如圖所示 注意加號與等號各自需要2根火柴棒 如果a b,則a b c與b a c視為不同的等式 a b c 0 n根火柴棒必須全部用上 inclu...

火柴棍等式

注意 1.加號與等號各自需要兩根火柴棍 2.如果a b,則a b c與b a c視為不同的等式 a b c 0 3.n根火柴棍必須全部用上 超超分分鐘就解出來了。親愛的小夥伴們,你們是不是也可以分分鐘搞定這道難題呢?乙個整數n n 24 表示n根火柴棍 可以拼出形如 a b c 的等式的個數。如果a...

火柴棍等式

給你n根火柴棍,你可以拼出多少個形如 a b ca b c 的等式?等式中的aa bb cc是用火柴棍拼出的整數 若該數非零,則最高位不能是00 用火柴棍拼數字0 90 9的拼法如圖所示 注意 加號與等號各自需要兩根火柴棍 如果a b,則a b ca b c與b a cb a c視為不同的等式 a,...