2017第八屆藍橋杯 (C/C++)算式900--C語言解題思路和程式碼
阿新 • • 發佈:2019-01-07
- 標題:算式900
小明的作業本上有道思考題:看下面的算式:
(□□□□-□□□□)*□□=900
其中的小方塊代表09的數字,這10個方塊剛好包含了09中的所有數字。
注意:0不能作為某個數字的首位。
小明經過幾天的努力,終於做出了答案!如下:
(5012-4987)*36=900
用計算機搜尋後,發現還有另外一個解,本題的任務就是:請你算出這另外的一個解。
注意:提交的格式需要與示例嚴格一致;
括號及運算子號不要用中文輸入法;
整個算式中不能包含空格。
注意:機器評卷,不要填寫任何多餘的內容,比如說明文字。
思路:暴力法。
#include<stdio.h> int main() { int a,b,c,d,e,f,g,h,i,j;//暴力法解題 for(a=1;a<10;a++) for(b=0;b<10;b++) for(c=0;c<10;c++) for(d=0;d<10;d++) for(e=1;e<10;e++) for(f=0;f<10;f++) for(g=0;g<10;g++) for(h=0;h<10;h++) for(i=1;i<10;i++) for(j=0;j<10;j++) { if(a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&a!=g&&a!=h&&a!=i&&a!=j&& b!=c&&b!=d&&b!=e&&b!=f&&b!=g&&b!=h&&b!=i&&b!=j&& c!=d&&c!=e&&c!=f&&c!=g&&c!=h&&c!=i&&c!=j&& d!=e&&d!=f&&d!=g&&d!=h&&d!=i&&d!=j&& e!=f&&e!=g&&e!=h&&e!=i&&e!=j&& f!=g&&f!=h&&f!=i&&f!=j&& g!=h&&g!=i&&g!=j&& h!=i&&h!=j&& i!=j&&((a*1000+b*100+c*10+d)-(e*1000+f*100+g*10+h))*(i*10+j)==900) printf("(%d-%d)*%d=900\n",(a*1000+b*100+c*10+d),(e*1000+f*100+g*10+h),(i*10+j)); } return 0; }//另一解為:(6048-5973)*12=900