/*
情景描述:
有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,...