这个问题是这样的,如下
算 法 描 述 题
X
算
——————————
题 题 题 题 题 题
每个文字都代表0到9的一个数字,要求找到相应的数字对应使这个等式成立。
1.问题分析
要是用手算这个等式的话估计不少人得骂人了,必须带进去一个个的试错,太麻烦了。但计算机不用担心这些,计算机强大的计算能力可以代替人工一个个的带入。所以我们就需要将每一个数字都带入试一遍到底哪一组数适配就可以了。
2.算法选择——穷举法
这种将所有的情况都列举出来,最后再在每种情况中找到自己想要的结果的算法叫做穷举法。
穷举法一般的格式
for(i=x1;i<=x2;i++) for(j=y1;j<=y2;j++) for(k=z1;k<=z2;k++) if(i,j,k满足验证条件) printf(输出正确答案)
3.开始编程
#include//穷举法 int main() { int i1,i2,i3,i4,i5; long multi ,result; //输出结果为长整型。 for(i1=1;i1<=9;i1++) //穷举法格式 { for(i2=0;i2<=9;i2++) { for(i3=0;i3<=9;i3++) { for(i4=0;i4<=9;i4++) { for(i5=0;i5<=9;i5++) { multi=i1*10000+i2*1000+i3*100+i4*10+i5; result=i5*100000+i5*10000+i5*1000+i5*100+i5*10+i5; if(multi*i1==result) { printf("n"); printf("%5d%2d%2d%2d%2dn",i1,i2,i3,i4,i5); printf("X%12dn",i1); printf("______________n"); printf("%3d%2d%2d%2d%2d%2dn",i5,i5,i5,i5,i5,i5); } } } } } } return 0; }
这个其实也没什么值得注意的,多练就好。
4.看运行结果
可以得出上题的结果。
算=7,法=9,描=3,述=6,题=5
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)