- 1 名前:デフォルトの名無しさん [2005/05/12(木) 21:44:01 ]
- 過去スレ
Part1: piza2.2ch.net/tech/kako/987/987169286.html Part2: pc.2ch.net/tech/kako/1002/10025/1002584344.html Part3: pc.2ch.net/tech/kako/1008/10082/1008220265.html Part4: pc.2ch.net/tech/kako/1016/10162/1016211619.html Part5: pc3.2ch.net/tech/kako/1023/10230/1023091882.html Part6: pc3.2ch.net/tech/kako/1031/10315/1031560687.html Part7: pc5.2ch.net/tech/kako/1042/10421/1042167213.html Part8: pc5.2ch.net/tech/kako/1058/10582/1058263391.html Part9: pc2.2ch.net/test/read.cgi/tech/1069594582/ Part10: pc5.2ch.net/test/read.cgi/tech/1075630259/ Part11: pc5.2ch.net/test/read.cgi/tech/1091456033/ Part12: pc8.2ch.net/test/read.cgi/tech/1100229366/ 関連リンクは>>2-10あたり
- 236 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 23:21:44 ]
- class tarai {
int x, y; const tarai* tp; public: tarai(int y) : x(0), y(y), tp(0) {} tarai(int x, int y, const tarai& t) : x(x), y(y), tp(&t) {} int operator()() const { if (x <= y) return y; int z = (*tp)(); return tarai(tarai(x-1,y,*tp)(),tarai(y-1,z,tarai(x))(),tarai(z-1,x,y))(); } }; LISPをまるで知らない俺が五分で作ったC++遅延評価版 tarai(192, 96, tarai(0))()で、0.01秒くらい?
- 237 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 23:53:03 ]
- tarai(192, 96, 0)と使えるように直した
class tarai { int x, y; const tarai* tp; public: tarai(int y) : x(0), y(y), tp(0) {} tarai(int x, int y, const tarai& t) : x(x), y(y), tp(&t) {} operator int() const { if (x <= y) return y; int z = *tp; return tarai(tarai(x-1,y,*tp),tarai(y-1,z,x),tarai(z-1,x,y)); } };
|

|