1. 程式人生 > >第七屆藍橋杯 湊算式 C語言 B組第三題

第七屆藍橋杯 湊算式 C語言 B組第三題

湊算式

     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; }