/* This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation; either version 2 of the License, or (at your option) any later * version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. * * The following code find a self descriptif number. The output can be for example: * 1000126, because this number has 6 zeros, 2 ones, 1 two, 0 three, 0 four, 0 five * and 1 six. * */ { int n0, n1, n2, n3, n4, n5, n6, n7, n8, n9; int c, done, n; done=0; while(done==0) { done=1; c=0; if (n0==0) c++; if (n1==0) c++; if (n2==0) c++; if (n3==0) c++; if (n4==0) c++; if (n5==0) c++; if (n6==0) c++; if (n7==0) c++; if (n8==0) c++; if (n9==0) c++; if (n0!=c) { n0=c; done=0; } c=0; if (n0==1) c++; if (n1==1) c++; if (n2==1) c++; if (n3==1) c++; if (n4==1) c++; if (n5==1) c++; if (n6==1) c++; if (n7==1) c++; if (n8==1) c++; if (n9==1) c++; if (n1!=c) { n1=c; done=0; } c=0; if (n0==2) c++; if (n1==2) c++; if (n2==2) c++; if (n3==2) c++; if (n4==2) c++; if (n5==2) c++; if (n6==2) c++; if (n7==2) c++; if (n8==2) c++; if (n9==2) c++; if (n2!=c) { n2=c; done=0; } c=0; if (n0==3) c++; if (n1==3) c++; if (n2==3) c++; if (n3==3) c++; if (n4==3) c++; if (n5==3) c++; if (n6==3) c++; if (n7==3) c++; if (n8==3) c++; if (n9==3) c++; if (n3!=c) { n3=c; done=0; } c=0; if (n0==4) c++; if (n1==4) c++; if (n2==4) c++; if (n3==4) c++; if (n4==4) c++; if (n5==4) c++; if (n6==4) c++; if (n7==4) c++; if (n8==4) c++; if (n9==4) c++; if (n4!=c) { n4=c; done=0; } c=0; if (n0==5) c++; if (n1==5) c++; if (n2==5) c++; if (n3==5) c++; if (n4==5) c++; if (n5==5) c++; if (n6==5) c++; if (n7==5) c++; if (n8==5) c++; if (n9==5) c++; if (n5!=c) { n5=c; done=0; } c=0; if (n0==6) c++; if (n1==6) c++; if (n2==6) c++; if (n3==6) c++; if (n4==6) c++; if (n5==6) c++; if (n6==6) c++; if (n7==6) c++; if (n8==6) c++; if (n9==6) c++; if (n6!=c) { n6=c; done=0; } c=0; if (n0==7) c++; if (n1==7) c++; if (n2==7) c++; if (n3==7) c++; if (n4==7) c++; if (n5==7) c++; if (n6==7) c++; if (n7==7) c++; if (n8==7) c++; if (n9==7) c++; if (n7!=c) { n7=c; done=0; } c=0; if (n0==8) c++; if (n1==8) c++; if (n2==8) c++; if (n3==8) c++; if (n4==8) c++; if (n5==8) c++; if (n6==8) c++; if (n7==8) c++; if (n8==8) c++; if (n9==8) c++; if (n8!=c) { n8=c; done=0; } c=0; if (n0==9) c++; if (n1==9) c++; if (n2==9) c++; if (n3==9) c++; if (n4==9) c++; if (n5==9) c++; if (n6==9) c++; if (n7==9) c++; if (n8==9) c++; if (n9==9) c++; if (n9!=c) { n9=c; done=0; } } n=n0+10*(n1+10*(n2+10*(n3+10*(n4+10*(n5+10*(n6+10*(n7+10*(n8+10*n9)))))))); writeint n; }