作者slayerisme (XD)
看板CSSE
標題Re: [閒聊] 被制約的頭腦
時間Fri May 27 17:23:19 2005
※ 引述《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
1F:推 jeunder:那個三維陣列根本就用一維陣列來看待即可 61.230.226.213 05/27
2F:推 slayerisme:呵,沒想那麼多>"<我也被制約了 210.59.94.118 05/27
3F:推 giive:恭喜 , 請領錢吧:)140.112.207.170 05/27
4F:推 Eventis:用一維陣列要做一點小處理吧@.@? 61.62.49.43 05/27
5F:→ Eventis:剛好4T的offset,雖然說用大數作是沒差. 61.62.49.43 05/27
6F:→ Eventis:不過如果是我,我應該會用memset來偷雞XD 61.62.49.43 05/27
7F:→ Eventis:memcpy...>.< 61.62.49.43 05/27
8F:推 UNARYvvv:memset 不對嗎?? 61.70.137.117 05/28
9F:推 Eventis:因為base:) 61.62.49.43 05/28