- 298 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 09:18:24 ]
- >>272 対象もでてしまうけど
#include<stdio.h> #include<stdlib.h> void disp(char *p){ for(;*--p;); puts(p+1); } void brace(char *work, int brace_num, int depth){ if(depth==0 && brace_num==0){ *work='\0'; disp(work); } if(depth>0){ *work='>'; brace(work+1, brace_num, depth-1); } if(brace_num>0){ *work='<'; brace(work+1, brace_num-1, depth+1); } } int main(int argc, char *argv[]){ int brace_num=3; char *work; if(argc==2) brace_num=atoi(argv[1]); work=malloc(brace_num*2+2); *work='\0'; brace(work+1, brace_num, 0); free(work); return 0; }
|

|