看看这个题目的算法
问题如下:1A+2B+3C+4D+5E+6F+7G=X其中X为已知量,A至G为未知量,取值范围是1-22 ,不能重复,设计一个程序将未知量求出
大家有没有好的算法,刚看到这题目.来这看看大家的意思.
#include <stdio.h> int main(void){ int a,b,c,d,e,f,g; int x; printf("Please enter x:\n"); scanf("%d",&x); for(a=1;a<=22;a++) for(b=1;b<=22;b++){ if(a!=b) for(c=1;c<=22;c++){ if(a!=c && b!=c) for(d=1;d<=22;d++){ if(a!=d && b!=d && c!=d) for(e=1;e<=22;e++) if(a!=e && b!=e && c!=e && d!=e) for(f=1;f<=22;f++){ if(a!=f && b!=f && c!=f && d!=f && e!=f) for(g=1;g<=22;g++){ if(a!=g && b!=g && c!=g && d!=g && e!=g && f!=g) if(a+2*b+3*c+4*d+5*e+6*f+7*g==x) printf("A=%d\nB=%d\nC=%d\nD=%d\nE=%d\nF=%d\nG=%d\n",a,b,c,d,e,f,g); } } } } } getch(); return 0; }