看板 CSSE 關於我們 聯絡資訊
※ 引述《giive (lala)》之銘言: : : 推 Eventis:可能這個問題不那麼直接,不妨試試更常見的問題. 61.62.49.43 05/27 : : → Eventis:要將一個多維陣列有規律地填入特殊的值的作法:) 61.62.49.43 05/27 : : 推 Eventis:"一定要怎麼樣"跟"一定不要怎麼樣" 61.62.49.43 05/27 : : → Eventis:我不認為這兩種態度是不同的事:) 61.62.49.43 05/27 : 好 , 我決定了 , 3000P幣徵求 : 把 for( i = 1~10000){ : for( j = 1~10000){ : for( k = 1~10000){ : a[i][j][k] = 3000 ; : } : } : } : 這個很直覺的迴圈寫法 : 改用遞迴改寫 , 有人要挑戰的嗎:p : 需求 : 1. code直接可以用gcc跑 , 其他語言我不鳥 : 2. code不准用 for while 等跟迴圈有關係的方法偷雞 大數借位 :) [slayer@rat funnny_c]$ cat xd.c #include <stdio.h> int a[100][100][100]; int i=99,j=99,k=99; void show(){ printf("a[%d][%d][%d]=%d\n", i,j,k,a[i][j][k]); } void recursive(){ a[i][j][k]=3000; show(); k--; if(i==0 && j==0 && k==0){ a[0][0][0]=3000; show(); return; } if(k==-1){ j--; k=99; } if(j==-1){ i--; j=99; } recursive(); } int main(){ recursive(); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.59.94.118
jeunder:那個三維陣列根本就用一維陣列來看待即可 61.230.226.213 05/27
slayerisme:呵,沒想那麼多>"<我也被制約了 210.59.94.118 05/27
giive:恭喜 , 請領錢吧:)140.112.207.170 05/27
Eventis:用一維陣列要做一點小處理吧@.@? 61.62.49.43 05/27
Eventis:剛好4T的offset,雖然說用大數作是沒差. 61.62.49.43 05/27
Eventis:不過如果是我,我應該會用memset來偷雞XD 61.62.49.43 05/27
Eventis:memcpy...>.< 61.62.49.43 05/27
UNARYvvv:memset 不對嗎?? 61.70.137.117 05/28
Eventis:因為base:) 61.62.49.43 05/28