制限付き∑100問題まとめ

とりあえず拾えるだけ拾ってみた。追加とかあればよろしく。あとで方向性別にまとめたい
4
がたろう TTLでCPUを作る爺(コンパイラやOSも手作りです) @duo6750

「1から100までの和を表示するプログラムを作れ」という問題を鼻で笑う諸君、「但し変数は宣言済の int x 以外は使わないこと」 という条件を付けても鼻で笑っていられるかな?

2012-03-25 18:00:43
naka(PIC32MX) @naka_at_kure

@duo6750 上位ビットと下位ビットで分離するのは邪道でしょうか。

2012-03-25 18:02:38
がたろう TTLでCPUを作る爺(コンパイラやOSも手作りです) @duo6750

@naka_at_kure ピンポーン! その発想が瞬間的に出るか否かを調べる問題でした。 

2012-03-25 18:06:07
西村 備山 @lipoyang

@duo6750 x = (100*(1+100)) / 2; じゃダメですか?(笑)

2012-03-25 18:09:59
naka(PIC32MX) @naka_at_kure

@duo6750 とりあえず思いついたのがこれしかなかったのでw 他の方法だと再帰で折り返すとか・・・?

2012-03-25 18:12:03
西村 備山 @lipoyang

@naka_at_kure @duo6750 C++ならテンプレートで黒魔術できますね。>再帰

2012-03-25 18:14:36
naka(PIC32MX) @naka_at_kure

@lipoyang @duo6750 黒魔術の書物、難しすぎて全く理解しておりません・・・

2012-03-25 18:15:26
𝕍𝕖𝕣𝕦𝕤 @Verus

printf("%d\n", 1+2+...+100);で変数ゼロ!QT @duo6750: 「1から100までの和を表示するプログラムを作れ」という問題を鼻で笑う諸君、「但し変数は宣言済の int x 以外は使わないこと」 という条件を付けても鼻で笑っていられるかな?

2012-03-25 18:17:41
𝕍𝕖𝕣𝕦𝕤 @Verus

スマートな方法を考えるのは楽しいけど,目的によってですよね!

2012-03-25 18:18:48
がたろう TTLでCPUを作る爺(コンパイラやOSも手作りです) @duo6750

@naka_at_kure @lipoyang 2つ目の正解は「自己呼出(再帰)」。 (STLとか<math.h>とか黒魔術を別として) 3つ目の正攻法は???

2012-03-25 18:21:45
naka(PIC32MX) @naka_at_kure

@Yazee1120 再帰とかビットで分けるとか、あとはまぁprintfに1+2+・・・

2012-03-25 18:22:47
西村 備山 @lipoyang

ワロタ。まあ、さっきのは半分冗談としても、解析解が分かることを数値計算で求めるのはエレガントでないですね。 RT @aprikip printf( "5050\n" );

2012-03-25 18:24:57
ふみ (DJ Monad) @fumieval

RT @duo6750: 「1から100までの和を表示するプログラムを作れ」という問題を鼻で笑う諸君、「但し変数は宣言済の int x 以外は使わないこと」 という条件を付けても鼻で笑っていられるかな?

2012-03-25 18:27:28
猫のお腹に顔をうずめて深呼吸 @crimsonwoods

int x;しか使えなくてもint == intptr_tな環境なら適当にallocateしたメモリ使えるからなぁ。

2012-03-25 18:30:53
がたろう TTLでCPUを作る爺(コンパイラやOSも手作りです) @duo6750

@Verus 実際にあった、もっとすごい答は、予め「暗算」して、printf("%d\n", 5050); とか、 printf("5050\n");  ( 「1個の変数はまともに使う」ってのが題意ですが、まあ答えがあってりゃOKか?)

2012-03-25 18:32:51
𝕍𝕖𝕣𝕦𝕤 @Verus

@duo6750 それをやるなら,思考を表現してprintf("%d\n", ((1+100)*100)/2);ぐらいしてあげたほうがいいんですかね…多分展開されちゃうだろうけど.

2012-03-25 18:35:36
一色 @isk8086

x=100までの合計値;printf("%d",x); QT @duo6750: 「1から100までの和を表示するプログラムを作れ」という問題を鼻で笑う諸君、「但し変数は宣言済の int x 以外は使わないこと」 という条件を付けても鼻で笑っていられるかな?

2012-03-25 19:27:02
rls @quolc

x=5050; print x; RT duo6750「1から100までの和を表示するプログラムを作れ」という問題を鼻で笑う諸君、「但し変数は宣言済の int x 以外は使わないこと」 という条件を付けても鼻で笑っていられるかな?

2012-03-25 19:31:52
狐代@冬コミ @foxykodai

int x=100; cout << x*(x+1)/2 ;RT duo6750「1から100までの和を表示するプログラムを作れ」という問題を鼻で笑う諸君、「但し変数は宣言済の int x 以外は使わないこと」 という条件を付けても鼻で笑っていられるかな?

2012-03-25 19:35:02
ELD-R-ESH-2 @eldesh

なんで変数が必要なのか分からない RT @duo6750: 「1から100までの和を表示するプログラムを作れ」という問題を鼻で笑う諸君、「但し変数は宣言済の int x 以外は使わないこと」 という条件を付けても鼻で笑っていられるかな?

2012-03-25 19:40:00
ohnishiakira @ohnishiakira

宣言済みのint型の変数x以外を使わずに1から100の和を求めろっていうやつ、普通に for(x=x-x; x<=100; x++) {} でいいのでは

2012-03-25 20:26:13
まー @5f_s

@konyanku 2進数で計算するにしたってループ回すのに少なくとも1つ以上変数必要だし、100以外の汎用性を求めないんだったら5050を代入して終了だしな

2012-03-25 20:57:15
imo @imo_chp

@duo6750 @naka_at_kure このやり方はC言語でできるんですか?

2012-03-25 21:08:07
がたろう TTLでCPUを作る爺(コンパイラやOSも手作りです) @duo6750

@imo_chp できますよ~。 unionが簡単ですが、ポインタ操作や、シフト演算と論理演算でも可能です。

2012-03-25 21:18:04
1 ・・ 7 次へ