整数の和を限定された変数だけで計算

1 から 100 までの整数の和を 16 ビットの, または 10,000 までの和を 32 ビットの変数だけで計算する方法に関するツイートを纏めました.
Ruby perl プログラミング
1
がたろう TTLでCPUを作る爺(コンパイラやOSも手作りです) @duo6750
「1から100までの和を表示するプログラムを作れ」という問題を鼻で笑う諸君、「但し変数は宣言済の int x 以外は使わないこと」 という条件を付けても鼻で笑っていられるかな?
@iwase_zjunici
@duo6750 for(x=1;x%1000<100;x+=1)x+=x%1000*1000; printf("%d\n", x/1000); はどうかな? int 型が 16ビットだとダメ。
がたろう TTLでCPUを作る爺(コンパイラやOSも手作りです) @duo6750
【1から100までの和を1つの変数のみで求める問題】  サンプルプログラムを作ってみた。但し、今んとこC言語のみ。 \^o^/  http://t.co/aRdheXLV
襖屋石蔵 Ishizo FUSUMAYA @shz_fsmy
http://t.co/9dwjwsxZ を参考に, #perl -le 'use integer; $x+=$x%128*128+1 while $x%128<=100; print $x/128;'
襖屋石蔵 Ishizo FUSUMAYA @shz_fsmy
#perl -le 'use integer; $x+=($x+1)%10*10+1 while ($x+1)%10; $x/=10; print $x=100*$x+10*$x+100;' # 16 ビット (65536 未満) :-þ @shz_fsmy
襖屋石蔵 Ishizo FUSUMAYA @shz_fsmy
@shz_fsmy #ruby -e'x=0; x+=(x+1)%10*10+1 while (x+1)%10>0; x/=10; puts x=100*x+10*x+100;'
襖屋石蔵 Ishizo FUSUMAYA @shz_fsmy
@shz_fsmy #ruby -e'x=0; x+=(x+1)%10*10+1 while (x+1)%10>0; x-=9; x+=(x+1)%10*1000+1 while (x+1)%10>0; x/=10; x-=x%100-x%100*10; puts x+100;'
襖屋石蔵 Ishizo FUSUMAYA @shz_fsmy
@iwase_zjunici @duo6750 0,1,...,9 に 4 ビット, 0+1+...+9 に 6 ビット, 0+10+...+90 に 6 ビット. cf. http://t.co/WRx9B71P
襖屋石蔵 Ishizo FUSUMAYA @shz_fsmy
「1 から 10,000 までの整数の和を求めるアルゴリズムを書け. ただし, 変数は 32 ビットの符号付き整数 x しか使わないこと」という問題を鼻で笑えるかな. cf. http://t.co/s5hxIlKi

コメント

うにら @riafeed 2012年8月12日
プリプロセッサとかスクリプトとかで1~100までを足すコード生成すればいいじゃないかと思った俺は間違いなく空気読めない子
ログインして広告を非表示にする
ログインして広告を非表示にする