µo«H¤H¡Gstructure.bbs@bbs.ee.ncu.edu.tw (Pa) ¤é´Á¡G22 Nov 1997 16:55:18 GMT ¼ÐÃD¡GRe: ½Ö¹ïturbo c¼¶¼g«Ü¦æ.....±Ï±Ï§Ú!! «H¸s¡Gtw.bbs.comp.language ¬ÝªO¡Gprogramming ¥N¸¹¡G<3Ld6Wh$ufi@bbs.ee.ncu.edu.tw> ²Õ´¡G¤¤¥¡¤j¾ÇªQÀÜ­·±¡¸ê°T¯¸ ¤Ñ§r,³o¬O¦p¦ó¼g¦¨¨º»òªøªº§r,©ú©ú«Üµu´N¥i¥H¸Ñ¨Mªºµ{¦¡. #include int temp[1000]; int Total; void shape( int num,int pointer ) { int timer; if( num==0 ) { printf("%d=%d",Total,temp[0]); for( timer=1;timer0;timer-- ) { temp[ pointer ]=timer; shape( num-timer,pointer+1 ) } } void main(void) { printf(" Input n:"); scanf("%d",&Total); shape( num,0 ); } >==>µo«H¤H: strake.bbs@bbs.cs.nthu.edu.tw (BB), «H°Ï: programming >¡° ¤Þ­z¡mjany (ÀH¤ß©Ò±ý...)¡n¤§»Ê¨¥¡G >> §Ú¦³¤@­Óturbo cªº²ßÃD·Q½Ð±Ð...§Æ±æ¦³¤H¯à¬K§Ú¸Ñµª >> ½Ð¥Î for-next & »¼°j¼g¥X >> ÃD¥Ø¦p¤U¡G >> 6=6 >> 6=5+1 >> 6=4+2 >> 6=4+1+1 >> 6=3+3 >> 6=3+2+1 >> 6=3+1+1+1 >> 6=2+2+2 >> 6=2+2+1+1 >> 6=2+1+1+1+1 >> 6=1+1+1+1+1+1 >> ±N¥ô¤@¥¿¾ã¼Æ(1<=N<=10)¤À¸Ñ¬°¤p©ó©Îµ¥©óN¤§¡C¥¿¾ã¼Æ¤§©M¡A¨Ã«ö"¤Ï¦r¨å"¤§¦¸§Ç¦L¥ >X >> ¡C©Ò¿×¤Ï¦r¨å¦¸§Ç·N«ü»P­^¤å¦r¨å¤§±Æ¦C¦¸§Ç¬Û¤Ï¡A§Y¥ý¦L¤j¦A¦L¤p¡A¨Ò¦pN=6,¨ä¦C¦L >> ¤§¦¸§Ç¦p¤W¡C >#include >int checkorder(int *n,int size) >{ >int i,min=*n; >for(i=1;i if(n[i]>min) return -1; > else min=n[i]; >} >void rec(int *n,int index,int size) >{ >int i,j,count; >if(n[index]==1) return; >else{ > for(i=n[index]-1,count=1;i>0;i--,count++) > { > n[index]-=count; > n[index+1]+=count; > if(checkorder(n,index+size)!=-1) > { > for(j=0;j0 ;j++) printf("%2d",n[j]); > printf("\n"); > } > rec(n,index+1,size-1); > n[index]+=count; > n[index+1]=0; > } > } >} >main() >{ >int i,num,*n; >printf("Please input a number"); >scanf("%d",&num); >n=(int *)malloc(sizeof(int)*num); >for(i=1;in[0]=num; >rec(n,0,num); >} -- °ê¥ß¤¤¥¡¤j¾Ç ¸ê°T¤uµ{¾Ç¨t 90¯Å ^o^ Phonix BBSª© PM:Pa ID:Unicorn ¨t²Î:FreeBSD 2.2.5Release ­º­¶ http://www.taconet.net.tw/~unicorn ¥D¾÷ unicorn.pine.ncu.edu.tw[ ¤£±`¶} ] EMail:u3561220@sparc13.cc.ncu.edu.tw --  ¡· Origin: ¤¤¥¡ªQÀܯ¸¡¼bbs.ee.ncu.edu.tw From: Unicorn.pine.ncu.edu.tw .