資料結構實戰01
阿新 • • 發佈:2018-12-13
題目:
這是一個約瑟夫環問題,用C語言陣列解決如下
#define MAXN 100 void printring(int a[],int n,int i,int k){ int b[MAXN],j,s; for(j=0;j<n;j++){ b[j]=0; printf("b[%d]=%d\n",j,b[j]); } printf("------\n"); i--; //轉換為陣列下標 s=0; j=n; while(j>0){ if(b[i]!=-1){ s++; if(s==k){ s=0; j--; printf("a[%d]=%d \n",i,a[i]); //列印該數 b[i]=-1; } } i=(i+1)%n; //下標移動 } } int main() { int a[10]={1,2,3,4,5,6,7,8,9,10}; printring(a,10,5,12); printf("-----\n"); }