每N個數反轉


假設有數組a[]={0,1,2,3,4,5,6,7,8,9}

每3位反轉後爲b[]={2,1,0,5,4,3,8,7,6,9},最後不夠3位的不反轉


若按K位反轉,i爲下標,從0開始

for(int i=0;i<10;i++)
    b[i]=a[(i/k)*k+k-i%k-1];


公式:i=(i/k)*k+k-i%k-1


解釋:

(i/k)*k:表示段增加,即下一個K位

k-i%k-1:表示在此段中的位置



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章