오늘 오전 6시 쯤에 완성한 달팽이 배열.
없던 머리를 마구 쓰려고 하느라 힘들었음 ㅠ
#include <stdio.h>
int main()
{
int i,j,n,tmp;
while(1){
printf(\"\\n입력 : \");
scanf(\"%d\",&n);
for( i = 1; i <= n; i++ ) printf(\"%3d \",i);puts(\"\");
for( i = 1; i < n; i++ ){
tmp = ((n/2+1)+(((i-(n/2+1))*((((i-(n/2+1))&0x80000000)>>31)*2-1))))-((i/(n/2+1))*((n-1)%2));
for( j = 1; j < tmp; j++ )
printf(\"%3d \",(n-j)*4*j-(i-j));
for( j = i-1; j < n-i; j++ )
printf(\"%3d \",(n-i)*4*i+(j-i+1));
tmp = (i/(n/2+1))*(((i+1)%(n/2+1))*2-(n%2));
for( j = 1; j <= tmp; j++ )
printf(\"%3d \",(((n/2-1)*(3+2*(n/2-2))+((n/2-2+(n%2))*(3+2*(n/2-2-!(n%2)))+(10*((n/2-!(n%2))))))-4-(j-1))-(((14-((n%2)*4))*(i-(n/2+1)))*((i-1)/(n/2+1)))-(8*(((i%(n/2+2))*((i%(n/2+2))+1))/2)*(i/(n/2+2))));
tmp = (((n+1)/2+1)+((((i+1)-((n+1)/2+1))*(((((i+1)-((n+1)/2+1))&0x80000000)>>31)*2-1))))-(((i+1)/((n+1)/2+1))*(n%2));
for( j = 1; j < tmp; j++ )
printf(\"%3d \",n+j+(tmp-1-j)*(4*(n-tmp+j)+2)+(((i-1)/(n/2))*(((n%2+i)%(n/2+(n%2)))*2))-(((i-1)/(n/2))*(n%2)));
puts(\"\");
}
}
return 0;
}
잘 작동함.
횬님 변태왕 인정
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 아 진짜 캐변태다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
문제 조건이 조건 분기문을 사용하지 않고 배열을 정의하지 않고 함수는 표준 입출력 함수만 사용하는 조건이라 어쩔 수가 없음.
이건 제건데 ㅋㅋㅋㅋㅋㅋㅋㅋ
http://codepad.org/ZSrB2sAU
아 챙피하다 ㅋㅋ
으잌ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 아 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ