凑算式
凑算式
(不知道为什么放不了图片.)
这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。
比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。
这个算式一共有多少种解法?
注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。
分析:暴力法,但要注意精度问题
#include <iostream> using namespace std; int main() { int a,b,c,d,e,f,g,h,i; int count = 0; for(a = 1; a < 10; a++) for(b = 1; b < 10; b++) if(a!=b) for(c = 1; c < 10; c++) if(a!=c && b!=c) for(d = 1; d < 10; d++) if(a!=d && b!=d && c!=d) for(e = 1; e < 10; e++) if(a!=e && b!=e && c!=e && d!=e) for(f = 1; f < 10; f++) if(a!=f && b!=f && c!=f && d!=f && e!=f) for(g = 1; g < 10; g++) if(a!=g && b!=g && c!=g && d!=g && e!=g && f!=g) for(h = 1; h < 10; h++) if(a!=h && b!=h && c!=h && d!=h && e!=h && f!=h && g!=h) for(i = 1; i < 10; i++) if(a!=i && b!=i && c!=i && d!=i && e!=i && f!=i && g!=i && h!=i){ if((a + (double)b/c + (double)(d*100+e*10+f) / (g*100+h*10+i)) == 10){ count++; } } cout << count; return 0; }
还没有评论,来说两句吧...