「火柴棒等式」 題解

2021-10-08 13:17:00 字數 1372 閱讀 7647

「火柴棒等式」的題目

題目描述

給你n根火柴棍,你可以拼出多少個形如「a+b=c」的等式?等式中的a、b、c是用火柴棍拼出的整數(若該數非零,則最高位不能是0)。用火柴棍拼數字0-9的拼法如圖所示:

注意1.加號與等號各自需要兩根火柴棍

2.如果a≠b,則a+b=c與b+a=c視為不同的等式(a、b、c>=0)

3.n根火柴棍必須全部用上

輸入格式

乙個整數n(n<=24)。

輸出格式

乙個整數,能拼成的不同等式的數目。

樣例

樣例1輸入

14
樣例1輸出
2
樣例1解釋

2個等式為:

0+1

=11+0=1

樣例2輸入
18
樣例2輸出
9
樣例2解釋

9個等式為:

0+4

=40+

11=111

+10=11

2+2=

42+7

=94+

0=47

+2=9

10+1=

1111+0

=11

這是一道暴力列舉

首先我們需要初始化0~9的小棒數數量。

for迴圈列舉兩個加數,根據加數算出正確的和數,如果小棒數=所求的小棒數(n根火柴棍全部用上),所求的數量+1。

#include

using

namespace std;

long

long a[15]

,n,ans=

0,cnt;

long

long

work

(long

long x)

//函式:輸出本數字的小棒根數

//0的小棒根數為6

while

(x)return cnt;

}int

main()

//如果小棒數=所求的小棒數(n根火柴棍全部用上),所以所求的數量+1 }}

printf

("%lld"

,ans)

;return0;

}

題解 火柴棒等式

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

火柴棒等式

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

火柴棒等式

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