湊算式
B DEF
A + --- + ------- = 10
C GHI
(如果顯示有問題,可以參見【圖1.jpg】)
這個算式中A~I代表0~9的數字,不同的字母代表不同的數字。
比如:
6+8/3+952/714 就是一種解法,
5+3/1+972/486 是另一種解法。
這個算式一共有多少種解法?
#include<stdio.h>///0不要忘記
#include<math.h>
#include<string.h>
char v[15];
int cat(int x)
{
if(v[x]) return 1;
v[x]=1;
return 0;
}
int main()
{
int t1,t2,a,b,c,yes,ans=0;
for(t1=100;t1<=999;t1++)
{
for(t2=100;t2<=999;t2++)
{
for(a=0;a<10;a++)
{
for(b=0;b<10;b++)
{
for(c=0;c<10;c++)
{
if(fabs(t1/(double)t2+b/(double)c+a-10)<0.0001)
{
yes=0;
for(int q=0;q<15;q++)
{
v[q]=0;
}
yes=cat(t1/100)+cat(t1/10%10)+cat(t1%10)+cat(t2/100)+cat(t2/10%10)+cat(t2%10)+cat(a)+cat(b)+cat(c);
if(yes==0){
ans++;
printf("%d + %d/%d + %d/%d\n",a,b,c,t1,t2);
}
}
}
}
}
}
}
printf("%d",ans);
}
注意:你提交應該是個整數,不要填寫任何多餘的內容或說明性文字。