2017第八届蓝桥杯 (C/C++)算式900--C语言解题思路和代码

  1. 标题:算式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

猜你喜欢

转载自blog.csdn.net/qq_42552533/article/details/84881195