03凑算式(数字填空)
生活随笔
收集整理的這篇文章主要介紹了
03凑算式(数字填空)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這個算式中A~I代表1~9的數字,不同的字母代表不同的數字。
比如:
6+8/3+952/714 就是一種解法,
5+3/1+972/486 是另一種解法。
這個算式一共有多少種解法?
注意:你提交應該是個整數,不要填寫任何多余的內容或說明性文字。
//先給出答案:29 //有兩種思路:1、暴力枚舉(這里講這個) 2、全排列(下次補上) //注意啦:第一:浮點數注意事項。要不就使分子*1.0,然后abs(等式左邊-等式右邊)<1E-10;要不就左右兩邊通分,使分式運算化成整式運算。 //第二,關于“DEF”、"GHI"。這里DEF=D*100+E*10+F(而不是D*E*F,小心陷阱) #include<iostream> #include<cmath> using namespace std; int main() {int A, B, C, D, E, F, G, H, I;int count = 0;for (A = 1; A <= 9; A++){for (B = 1; B <= 9; B++){if (A == B)continue;for (C = 1; C <= 9; C++){if (A == C || B == C)continue;for (D = 1; D <= 9; D++){if (A == D || B == D || C == D)continue;for (E = 1; E <= 9; E++){if (A == E || B == E || C == E || D == E)continue;for (F = 1; F <= 9; F++){if (A == F || B == F || C == F || D == F || E == F)continue;for (G = 1; G <= 9; G++){if (A == G || B == G || C == G || D == G || E == G || F == G)continue;for (H = 1; H <= 9; H++){if (A == H || B == H || C == H || D == H || E == H || F == H || G == H)continue;for (I = 1; I <= 9; I++){if (A == I || B == I || C == I || D == I || E == I || F == I || G == I || H == I)continue;int DEF = D * 100 + E * 10 + F;int GHI = G * 100 + H * 10 + I;if (abs(A + B*1.0 / C + DEF*1.0 / GHI-10)<1E-10){count++;}}}}}}}}}}cout << count << endl; }?
轉載于:https://www.cnblogs.com/Strugglinggirl/p/6648544.html
總結
以上是生活随笔為你收集整理的03凑算式(数字填空)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AP付款出现(-1)例外处理
- 下一篇: 文档协同编辑帮助企业迎接大数据时代