#include #include int t[9],tagen[9]; char sif[10]; void MLX(int nr){ int p,n0,n1,n2; if(nr==9){ // Alla siffror ifyllda, kolla nu om det stammer! n0=t[3]*10+t[4]; n1=t[5]*10+t[6]; n2=t[7]*10+t[8]; if(t[0]*n1*n2+t[1]*n0*n2+t[2]*n0*n1==n0*n1*n2) { printf("%d/%d + %d/%d + %d/%d = 1\n",t[0],n0,t[1],n1,t[2],n2); exit(0); } } else { //Valj en av de inmatade siffrorna som inte ar tagen //och rekursera till nasta position. for(p=0;p<9;p++) if(!tagen[p]) { tagen[p]=1; t[nr]=sif[p]-'0'; MLX(nr+1); tagen[p]=0; } } } int main(){ int a; printf("Vilka siffror ? "); scanf("%s",sif); for(a=0;a<9;a++) tagen[a]=0; MLX(0); return 0; }