关于前天的一个问题,我有了个新的思路,但是有人跟我说我的方法行不通?
https://bbs.bccn.net/thread-457304-1-1.html这是我上次发的帖子,题目是这个
程序代码:
#include <stdio.h> #include <stdlib.h> int main(void) { int M[8],i,j,k,n; scanf("%d",&n); for(i=1;i<n;i++) for(j=0;j<n;j++) { M[j]=i; while(M[0]+M[1]+9==4\ &&(M[2]-M[3])*M[4]==4\ &&M[5]+M[6]-M[7]==4\ &&(M[0]+M[2])/M[5]==4\ &&(M[1]-M[3])*M[6]==4\ &&9-M[4]-M[7]==4) for(k=0;k<8;k++) printf("%d",M[k]); } return EXIT_SUCCESS; }
原帖子里有人给出了用好几个for暴力破解的方法,我觉得不够灵活,我的思路是用两个for循环,给M[8]里的元素从后往前从1到n依次赋值,当满足while条件的就输出,程序刚写好可能有些还要改的地方(如果有热心朋友帮忙改下更好),但是我拿去给一个朋友看的时候一口气就被否决了,说不是穷举什么的。
[ 本帖最后由 xnattack 于 2015-9-16 15:33 编辑 ]