生活随笔
收集整理的這篇文章主要介紹了
                                
蓝桥杯之凑算式
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
 
                                
                            
                            
                            湊算式
 
 這個(gè)算式中A~ I代表1~9的數(shù)字,不同的字母代表不同的數(shù)字。
 比如:
 6+8/3+952/714 就是一種解法,
 5+3/1+972/486 是另一種解法。
 這個(gè)算式一共有多少種解法?
 注意:你提交應(yīng)該是個(gè)整數(shù),不要填寫任何多余的內(nèi)容或說明性文字。
 思路:直接暴力枚舉,但是因?yàn)橛谐?#xff0c;所以我們應(yīng)該先通分,再計(jì)算。不整除就直接白費(fèi)。
 代碼如下:
 
#include<bits/stdc++.h>
#define ll long long
using namespace std
;int vis
[11];
inline int check(int a
,int b
,int c
,int d
,int e
)
{memset(vis
,0,sizeof(vis
));vis
[a
]=vis
[b
]=vis
[c
]=1;int D
=d
,E
=e
;while(d
){vis
[d
%10]=1;d
/=10;}while(e
){vis
[e
%10]=1;e
/=10;}if(vis
[0]) return 0;for(int i
=1;i
<=9;i
++) if(vis
[i
]!=1) return 0;int x
=(c
*E
)/(__gcd(c
,E
));b
=(x
/c
)*b
;d
=(x
/E
)*D
;if((b
+d
)%x
) return 0;return a
+((b
+d
)/x
)==10;
}
int main()
{int ans
=0;for(int a
=1;a
<=9;a
++){for(int b
=1;b
<=9;b
++){for(int c
=1;c
<=9;c
++){for(int d
=111;d
<=999;d
++){for(int e
=111;e
<=999;e
++){if(check(a
,b
,c
,d
,e
)) ans
++;}}}}}cout
<<ans
<<endl
;return 0;
}
 
 努力加油a啊,(o)/~
                            總結(jié)
                            
                                以上是生活随笔為你收集整理的蓝桥杯之凑算式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                            
                                如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。