第七屆藍橋杯 湊算式 C語言 B組第三題
阿新 • • 發佈:2018-12-18
湊算式
B DEF A + --- + ------- = 10 C GHI (如果顯示有問題,可以參見【圖1.jpg】) 這個算式中A~I代表1~9的數字,不同的字母代表不同的數字。
比如: 6+8/3+952/714 就是一種解法, 5+3/1+972/486 是另一種解法。
這個算式一共有多少種解法?
注意:你提交應該是個整數,不要填寫任何多餘的內容或說明性文字。
#include<iostream> using namespace std; int count=0; void prem(int a[],int i,int n) { if(i==n) { int sum=a[2]*(a[7]*100+a[8]*10+a[9])+a[3]*(a[4]*100+a[5]*10+a[6]); int sum1=(10-a[1])*a[3]*(a[7]*100+a[8]*10+a[9]); if(sum==sum1) count++; } for(int j=i;j<=n;j++) { swap(a[i],a[j]); prem(a,i+1,n); swap(a[i],a[j]); } } int main() { int a[10]={0,1,2,3,4,5,6,7,8,9}; prem(a,1,9); cout<<count<<endl; return 0; }