#include"stdio.h"
main()
{
int a[4],j,i,aa,b,c,d,k=0,l=0;
for(aa=0;aa<7;aa++)
for(b=aa+1;b<8;b++)
for(c=b+1;c<9;c++)
for(d=c+1;d<10;d++)
{i=aa*1000+b*100+c*10+d;k++;/*è¿ä¸ªæ¨¡åæ¯ç®åºå个ä½ä¸çæ°åä¸åçæ°*/
for(j=0;j<10;j++){i=kblk(i);if(i==6174){l++;break;}}}
printf("%d %d",k,l);/*k,læ¯ä¸ºäºéªè¯æ¯ä¸æ¯çæ°æ210个*/
getch();
}
void bubble(s,n)/*å泡æ³æåºå¯¹æ°ç»sån项æå(å°å°å¤§)*/
int s[],n;
{
int i,j,k;
for(i=n;i>1;i--)
for(j=0;j<n-1;j++)
if(s[j]>s[j+1]){k=s[j];s[j]=s[j+1];s[j+1]=k;}
}
breakup(s,i) /*å解i,并åå
¥æ°ç»aä¸*/
int s[],i;
{
s[0]=i/1000;
s[1]=i/100%10;
s[2]=i/10%10;
s[3]=i%10;
}
kblk(int i) /*å¡å¸åå
(ä½å·®)è¿ç¨*/
{
int a[4],s1,s2;
breakup(a,i);
bubble(a,4);
s1=a[0]*1000+a[1]*100+a[2]*10+a[3];
s2=a[3]*1000+a[2]*100+a[1]*10+a[0];
printf("|%4d-%4d|=%4d\n",s1,s2,s2-s1);
return(s2-s1);
}
å®é
éªè¯c(10,4)=10*9*8*7/24个æ°å°±å¯ä»¥äº,å
æ¬ä»¥0为å¼å¤´ç"åä½æ°"
----------------------------------------
顺便éä¸ä¸èªå·±çå客:
http://kinglufei.blog.163.com/