人気サイト様 最新記事

博士ちゃんねる ヘッドライン

レスの強調ウゼェー!というドクターへ

レス内の強調表示をOFFにする コチラをクリックして切り替えてください。設定は30日間Cookieに保存されます。
現在のステータス:強調有効

1-100の足し算を一番ひどいコードで書いた奴が優勝 @ [プログラマー板]


1-100の足し算を一番ひどいコードで書いた奴が優勝 @ [プログラマー板]
1: 仕様書無しさん 投稿日:2014/03/17(月) 01:57:59.72
バッドノウハウ共有。
言語名は必須。
とりあえず何も考えずに。

C#
int sum = 0;
for(int i = 1; i <= 100; ++i)
{
  sum += i;
}
2: 仕様書無しさん 投稿日:2014/03/17(月) 02:03:42.52
C#
int sum = 1+2+3+4+5+6+7+8+9+10+
11+12+13+14+15+16+17+18+19+20+
21+22+23+24+25+26+27+28+29+30+
31+32+33+34+35+36+37+38+39+40+
41+42+43+44+45+46+47+48+49+50+
51+52+53+54+55+56+57+58+59+60+
61+62+63+64+65+66+67+68+69+70+
71+72+73+74+75+76+77+78+79+80+
81+82+83+84+85+86+87+88+89+90+
91+92+93+94+95+96+97+98+99+100;
3: 仕様書無しさん 投稿日:2014/03/17(月) 02:13:56.25
>>2を超えるコードが見たい
6: 仕様書無しさん 投稿日:2014/03/17(月) 06:01:05.58
/* C */
#define ___ /*empty*/ 

/*なんてったって再帰*/
#include <stdio.h>
#include <assert.h>

int sumFromTo(int from, int to) {
___ assert(from <= to);
___ if (from == to) {
___ ___ return from;
___ }
___ return from + sumFromTo(from+1, to);
}

int main(int argc, char* argv[]) {
___ printf("sum[1,100]=312\n", sumFromTo(1, 100));
}
17: 仕様書無しさん 投稿日:2014/03/17(月) 12:04:29.15
>>6のコードがなんとなく好き
管理人より:うわぁー気持ち悪いw
8: 仕様書無しさん 投稿日:2014/03/17(月) 06:55:52.16
std::string sum = "";
for(int i=1; i <= 100; ++i) {
std::string n = "";
for(int j=1; j <= i; ++j) {
n += ".";
}
sum += n;
}
return sum.length();
10: 仕様書無しさん 投稿日:2014/03/17(月) 07:07:13.07
Cで普通に
int main()
{
  int kotae = 0;
  int tasukazu = 1;
 kurikaesi:
  kotae = kotae + tasukazu;
  tasukazu = tasukazu + 1;
  if (tasukazu <= 100) goto kurikaesi;
  printf("176\n", kotae);
  exit(0);
}
13: 仕様書無しさん 投稿日:2014/03/17(月) 11:55:25.72
Pharo(Smalltalk)
Compiler evaluate:
(((1 to: 100) asArray printString
copyReplaceAll: '#' with: '')
copyReplaceAll: ' ' with: ' + ')
一時変数を使わなかった自分を褒めてあげたい
管理人より:おーなるほど。1~100までの配列を文字列で評価して、「+」に置き換えてevalするコード。改行があると動かないかもしれないけど、横に長いので改行いれました。
14: 仕様書無しさん 投稿日:2014/03/17(月) 11:57:50.15
マ板で一番恐ろしいスレが誕生したのでは?
15: 仕様書無しさん 投稿日:2014/03/17(月) 11:58:00.38
int s=5050; //電卓で計算済み
45: 仕様書無しさん 投稿日:2014/03/18(火) 23:50:20.94
>>15が好きだわw
16: 仕様書無しさん 投稿日:2014/03/17(月) 11:58:07.15
定義ファイル内で
#define MIN 1
#define MAX 100


本体プログラム
int sum = 0;
for(int i = MIN; i <= MAX ; ++i)
{
  sum += i;
}
100ではわかりにくいがMAXがintで計算可能な限界辺りの数で
MAXは将来大きくされる可能性があるなら、将来原因不明のバグを発生させる最良の方法
19: 仕様書無しさん 投稿日:2014/03/17(月) 21:43:06.92
C
#include <math.h>

int n = 0;
for( int i = 1; i < 100; i=i+1 ) {
n = n * i;
}
printf( "\n", log( n )); // なぜか答えが合わない
24: 仕様書無しさん 投稿日:2014/03/17(月) 23:31:24.03
>>19
突っ込みどころの多さなら優勝だな
log( 100! )を計算しようとしているのは伝わる
log( 100! ) = log(1)+log(2)+...+log(100)となんかそれっぽいが違うのは明白
一応log( 100! )は計算したところ360前後の数字になるし
100!はint型じゃオーバーフローするし
つーかソースコードだと99!になってるし


そのまえにint n = 0;ってどうよ...
22: 仕様書無しさん 投稿日:2014/03/17(月) 22:45:11.27
def SumFromTo(from,to):
return 5050
23: 仕様書無しさん 投稿日:2014/03/17(月) 22:51:58.50
プロならテストケースも書くだろ
assertEquals(5050, 5050);
26: 仕様書無しさん 投稿日:2014/03/18(火) 00:27:57.60
>>23
テスト駆動開発だ!
67: 仕様書無しさん 投稿日:2014/03/20(木) 08:48:03.77
>>23
>>26
吹いたwww
管理人より:テストになっとらんw
25: 仕様書無しさん 投稿日:2014/03/17(月) 23:38:19.66
class num:
def __init__(self):
self.value = None
class one(num):
def __init__(self):
self.value = 1
class two(num):
def __init__(self):
self.value = 2
#----(以下略)----
class onehundred(num):
def __init__(self):
self.value = 100

def main():
lst = []
lst.append(one())
lst.append(two())
#----(以下略)----
lst.append(onehundred())
sum = 0
for i in lst:
sum += i.value
print(5050)

if(__name__ == '__main__'):
#main()
print(5050)
27: 仕様書無しさん 投稿日:2014/03/18(火) 00:31:41.42
>>25のコードがよく見ると最後にprintでマジックナンバー出力してて吹く
管理人より:あーほんとだ!しかもmain()を通ってないw
ちなみに言語はPython。
28: 仕様書無しさん 投稿日:2014/03/18(火) 00:35:24.19
VBで作ってみたよ。
Sub main()
a = InputBox("1から100まで足した答えを入力してください")
MsgBox a
End Sub
32: 仕様書無しさん 投稿日:2014/03/18(火) 19:15:39.92
#include <stdio.h>
#include <stdlib.h>

#define TRIAL 20000000UL
int main(){
unsigned long n = 0;
for( unsigned long i = 0; i < TRIAL; ++i ){
int x = rand()%100;
int y = rand()%100;
if( y <= x ) n++;
}
printf( "\n", (unsigned int)((double)n*10000/TRIAL));
// 確率的にこれくらい
};
39: 仕様書無しさん 投稿日:2014/03/18(火) 21:48:55.87
>>32
なんか正しくなりそうwww
42: 仕様書無しさん 投稿日:2014/03/18(火) 22:31:26.37
>>39
100回実行してみた

37回5050が出力されたが、63回違う答えが出た
でも一番離れている数字も5047
結構正確
管理人より:なるほど…ってオイw
34: 仕様書無しさん 投稿日:2014/03/18(火) 20:35:02.71
C++
#include <iostream> 
int main(){ int a=0,b=0,c; for(int i=1; i<=100; ++i){ b=a&i; a^=i; while(b){ b<<=1; c=a; a^=b; b&=c; } } std::cout << "a=" << a << std::endl;
return 0;
}
41: 仕様書無しさん 投稿日:2014/03/18(火) 22:29:23.03
駄スレかと思って開いたらすごくおもしろいスレだな
毎週違う問題のこんなコードを見てみたい
誰かWikiつくったりしてやらないかな…
44: 仕様書無しさん 投稿日:2014/03/18(火) 23:25:38.49
#include <string.h>
#include <stdlib.h>
#include <stdio.h>

int add(const char* _a, size_t as, const char* _b, 
size_t bs, char* result){
  char *a, *b;
  short i, x, y, z, bup=0;
  a = (char*)malloc(as);
  // 文字列を計算用ワークエリアにコピー
  
  if(a == NULL)return -1;
  b = (char*)malloc(bs);
  if(b == NULL){
    free(a);
    return -2;
  }
  strcpy(a, _a);
  strrev(a);
  strcpy(b, _b);
  strrev(b);
  for(i=0;i<(signed short)strlen(a)||i<(signed short)strlen(b);i++){
    if(i<(signed short)strlen(a))x=a[i]-'0';
    else x=0;
    if(i<(signed short)strlen(b))y=b[i]-'0';
    else y=0;
    z = x+y+bup;bup = 0;
    if(z >= 10){
      bup = z / 10;z = z % 10;
    }
    result[i]=z+'0';
  }
  if(bup!=0)result[i++]=bup+'0';
  result[i]='\0';
  strrev(result);
  free(a);free(b);
  return 0; // ワークエリア解放
}
int main(){
  char ra[128], rb[128], rc[128];
  int i;
  
  strcpy(ra, "0");
  for(i=1; i<=100; i++){
    sprintf(rb, "", i);
    add(ra, sizeof(ra), rb, sizeof(rb), rc);
    strcpy(ra,rc);
  }
  printf("1-100までの足し算 = ", ra);
  return 0;
}
正攻法。いろんな意味でアレ
規制の都合で改行控えめです
52: 仕様書無しさん 投稿日:2014/03/19(水) 12:44:43.59
>>44
おまえのような正攻法がいるか
46: 仕様書無しさん 投稿日:2014/03/19(水) 00:55:22.68
return 5050;
47: 仕様書無しさん 投稿日:2014/03/19(水) 01:02:57.89
linuxのshell script(bash)で、、
i=0
sum=0
while [ $i -lt 100 ]
do
i=`expr $i + 1`
sum=`expr $sum + $i`
done
echo $sum
49: 仕様書無しさん 投稿日:2014/03/19(水) 02:06:35.39
bashならもっとスマートに書こうぜ
for i in `seq 1 100`
do yes | head -n $i; done | wc -l
50: 仕様書無しさん 投稿日:2014/03/19(水) 10:46:35.07
yesの出力を1~100行切り取って行数数えるか、なるほど
51: 仕様書無しさん 投稿日:2014/03/19(水) 12:42:22.14
黒魔術
管理人より:発想の転換か。これスゴイけど実行すると妙に重いな。yesコマンドが重いんですね。
53: 仕様書無しさん 投稿日:2014/03/19(水) 13:55:17.90
;; emacs-lisp
(apply #'+
(let (s)
(dotimes (i 100 s)
(setq s (cons (- 100 i) s)))))
54: 仕様書無しさん 投稿日:2014/03/19(水) 16:48:57.46
i=rand(); //たまに当たる
55: 1/2 投稿日:2014/03/19(水) 21:16:56.96
#include <stdio.h>
#define ONE 1
#define TWO 2
#define THREE 3
#define FOUR 4
#define FIVE 5
#define SIX 6
#define SEVEN 7
#define EIGHT 8
#define NINE 9
#define TEN 10
#define ELEVEN 11
#define TWELVE 12
#define THIRTEEN 13
#define FOURTEEN 14
#define FIFTEEN 15
#define SIXTEEN 16
#define SEVENTEEN 17
#define EIGHTEEN 18
#define NINETEEN 19
#define TWENTY 20 +
#define THIRTY 30 +
#define FORTY 40 +
#define FIFTY 50 +
#define SIXTY 60 +
#define SEVENTY 70 +
#define EIGHTY 80 +
#define NINETY 90 +
#define HUNDRED * 100

int main(){
printf( "\n",
56: 2/2 投稿日:2014/03/19(水) 21:17:26.64
ONE + TWO + THREE + FOUR + FIVE
+ SIX + SEVEN + EIGHT + NINE + TEN
+ ELEVEN + TWELVE + THIRTEEN + FOURTEEN
+ FIFTEEN + SIXTEEN + SEVENTEEN
+ EIGHTEEN + NINETEEN
+ TWENTY + TWENTY ONE + TWENTY TWO
+ TWENTY THREE + TWENTY FOUR+ TWENTY FIVE
+ TWENTY SIX + TWENTY SEVEN + TWENTY EIGHT
+ TWENTY NINE+ THIRTY + THIRTY ONE 
+ THIRTY TWO + THIRTY THREE + THIRTY FOUR 
+ THIRTY FIVE + THIRTY SIX + THIRTY SEVEN 
+ THIRTY EIGHT + THIRTY NINE + FORTY 
+ FORTY ONE + FORTY TWO + FORTY THREE + FORTY FOUR
+ FORTY FIVE + FORTY SIX + FORTY SEVEN + FORTY EIGHT 
+ FORTY NINE + FIFTY + FIFTY ONE + FIFTY TWO + FIFTY THREE
+ FIFTY FOUR + FIFTY FIVE + FIFTY SIX + FIFTY SEVEN 
+ FIFTY EIGHT + FIFTY NINE + SIXTY  + SIXTY ONE + SIXTY TWO 
+ SIXTY THREE + SIXTY FOUR+ SIXTY FIVE + SIXTY SIX 
+ SIXTY SEVEN + SIXTY EIGHT + SIXTY NINE + SEVENTY 
+ SEVENTY ONE + SEVENTY TWO + SEVENTY THREE + SEVENTY FOUR 
+ SEVENTY FIVE + SEVENTY SIX + SEVENTY SEVEN + SEVENTY EIGHT 
+ SEVENTY NINE + EIGHTY + EIGHTY ONE + EIGHTY TWO 
+ EIGHTY THREE + EIGHTY FOUR + EIGHTY FIVE + EIGHTY SIX 
+ EIGHTY SEVEN + EIGHTY EIGHT + EIGHTY NINE + NINETY 
+ NINETY ONE + NINETY TWO + NINETY THREE + NINETY FOUR 
+ NINETY FIVE + NINETY SIX + NINETY SEVEN + NINETY EIGHT 
+ NINETY NINE + ONE HUNDRED );
57: 仕様書無しさん 投稿日:2014/03/19(水) 21:21:25.96
+ TWENTY + TWENTY ONE

コンパイル通らないと思われ。
58: 仕様書無しさん 投稿日:2014/03/19(水) 21:24:25.51
>>57
チェック済よん。
展開すると
... + 20 + + 20 + 1 ...
になるんだけど、単項演算子++でなくて二項演算子+と単項演算子+に解釈されるんだな。

つまり
... + 20 + (+20) + 1 ...
ってわけだな。
60: 仕様書無しさん 投稿日:2014/03/20(木) 00:27:17.78
>>58
バッドノウハウ見に来たのにCのマクロテクニックを見れた
61: 仕様書無しさん 投稿日:2014/03/20(木) 00:29:51.47
55-56
感動した
59: 仕様書無しさん 投稿日:2014/03/19(水) 21:31:26.08
どのコードも純粋にすごい
63: 仕様書無しさん 投稿日:2014/03/20(木) 00:44:37.52
可読性が下がるからバッドノウハウであるという点を除けば微妙に勉強になるスレだな
73: 仕様書無しさん 投稿日:2014/03/21(金) 04:38:12.86
(* SML *)
fun rk4 (op ~+) (op ~*) f dt x0 = let
infix 3 ~*;
infix 2 ~+;
val f0 = f x0;
val x1 = x0 ~+ f0 ~* (0.5*dt);
val f1 = f x1;
val x2 = x0 ~+ f1 ~* (0.5*dt) ;
val f2 = f x2;
val x3 = x0 ~+ f2 ~* dt;
val f3 = f x3
in
x0 ~+ (f0 ~+ (f1 ~+ f2) ~* 2.0 ~+ f3) ~* (dt/6.0)
end

fun applyN f 0 x = x
| applyN f n x = applyN f (n - 1) (f x);
fun f t = Math.sqrt(1.0 + 8.0*t)*0.5;

applyN (rk4 (op +) (op * ) f 0.0078125) 12672 1.0;
74: 仕様書無しさん 投稿日:2014/03/21(金) 06:47:45.57
int a = 0;
for (int i = 0 ; i < 100 ; i++) {
  if (i == 0) a += 1;
  else if (i == 1) a+= 2;
  else if (i == 2) a+= 3;
  else if (i == 3) a+= 4;
  else if (i == 4) a+= 5;
  else if (i == 5) a+= 6;
  else if (i == 6) a+= 7;
  else if (i == 7) a+= 8;
  else if (i == 8) a+= 9;
  else if (i == 9) a+= 10;
  else if (i == 10) a+= 11;
  else if (i == 11) a+= 12;
  else if (i == 12) a+= 13;
  else if (i == 13) a+= 14;
  else if (i == 14) a+= 15;
  else if (i == 15) a+= 16;
  else if (i == 16) a+= 17;
  else if (i == 17) a+= 18;
  else if (i == 18) a+= 19;
  else if (i == 19) a+= 20;
  else if (i == 20) a+= 21;
  else if (i == 21) a+= 22;
  else if (i == 22) a+= 23;
  else if (i == 23) a+= 24;
  else if (i == 24) a+= 25;
  else if (i == 25) a+= 26;
  else if (i == 26) a+= 27;
  else if (i == 27) a+= 28;
  else if (i == 28) a+= 29;
  else if (i == 29) a+= 30;
  else if (i == 30) a+= 31;
  else if (i == 31) a+= 32;
  else if (i == 32) a+= 33;
  else if (i == 33) a+= 34;
  else if (i == 34) a+= 35;
  else if (i == 35) a+= 36;
  else if (i == 36) a+= 37;
  else if (i == 37) a+= 38;
  else if (i == 38) a+= 39;
  else if (i == 39) a+= 40;
  else if (i == 40) a+= 41;
  else if (i == 41) a+= 42;
  else if (i == 42) a+= 43;
  else if (i == 43) a+= 44;
  else if (i == 44) a+= 45;
  else if (i == 45) a+= 46;
  else if (i == 46) a+= 47;
  else if (i == 47) a+= 48;
  else if (i == 48) a+= 49;
  else if (i == 49) a+= 50;
75: 仕様書無しさん 投稿日:2014/03/21(金) 06:48:16.61
  else if (i == 50) a+= 51;
  else if (i == 51) a+= 52;
  else if (i == 52) a+= 53;
  else if (i == 53) a+= 54;
  else if (i == 54) a+= 55;
  else if (i == 55) a+= 56;
  else if (i == 56) a+= 57;
  else if (i == 57) a+= 58;
  else if (i == 58) a+= 59;
  else if (i == 59) a+= 60;
  else if (i == 60) a+= 61;
  else if (i == 61) a+= 62;
  else if (i == 62) a+= 63;
  else if (i == 63) a+= 64;
  else if (i == 64) a+= 65;
  else if (i == 65) a+= 66;
  else if (i == 66) a+= 67;
  else if (i == 67) a+= 68;
  else if (i == 68) a+= 69;
  else if (i == 69) a+= 70;
  else if (i == 70) a+= 71;
  else if (i == 71) a+= 72;
  else if (i == 72) a+= 73;
  else if (i == 73) a+= 74;
  else if (i == 74) a+= 75;
  else if (i == 75) a+= 76;
  else if (i == 76) a+= 77;
  else if (i == 77) a+= 78;
  else if (i == 78) a+= 79;
  else if (i == 79) a+= 80;
  else if (i == 80) a+= 81;
  else if (i == 81) a+= 82;
  else if (i == 82) a+= 83;
  else if (i == 83) a+= 84;
  else if (i == 84) a+= 85;
  else if (i == 85) a+= 86;
  else if (i == 86) a+= 87;
  else if (i == 87) a+= 88;
  else if (i == 88) a+= 89;
  else if (i == 89) a+= 90;
  else if (i == 90) a+= 91;
  else if (i == 91) a+= 92;
  else if (i == 92) a+= 93;
  else if (i == 93) a+= 94;
  else if (i == 94) a+= 95;
  else if (i == 95) a+= 96;
  else if (i == 96) a+= 97;
  else if (i == 97) a+= 98;
  else if (i == 98) a+= 99;
  else if (i == 99) a+= 100;
}
76: 仕様書無しさん 投稿日:2014/03/21(金) 06:58:02.74
rubyでかくと普通はこうなる!!!!
s = '1'
(2..100).each {|i| s += "+#{i}" }
print eval(s)
77: 仕様書無しさん 投稿日:2014/03/21(金) 08:51:19.37
6502 マシン語
A9 00 A2 00 E8 A0 64 85 00 95 00 98 18 65 00 85
00 B5 00 69 00 95 00 88 D0 F1 F0 FE


だけだと読んで貰えそうにないんでアセンブリ言語の方も
lda #0
ldx #0
inx
ldy #100
sta <$00
sta <$00,x
tya ; ↓のbne $f1の跳び先ココ
clc
adc <$00
sta <$00
lda <$00,x
adc #0
sta <$00,x
dey
bne $f1
beq $fe ; ←の跳び先ココ
85: 仕様書無しさん 投稿日:2014/03/21(金) 18:03:58.56
CLISP
(+ 1 (+ 2 (+ 3 (+ 4 (+ 5 (+ 6 (+ 7 (+ 8 (+ 9 (+ 10
(+ 11 (+ 12 (+ 13 (+ 14 (+ 15 (+ 16 (+ 17 (+ 18 (+ 19 (+ 20
(+ 21 (+ 22 (+ 23 (+ 24 (+ 25 (+ 26 (+ 27 (+ 28 (+ 29 (+ 30
(+ 31 (+ 32 (+ 33 (+ 34 (+ 35 (+ 36 (+ 37 (+ 38 (+ 39 (+ 40
(+ 41 (+ 42 (+ 43 (+ 44 (+ 45 (+ 46 (+ 47 (+ 48 (+ 49 (+ 50
(+ 51 (+ 52 (+ 53 (+ 54 (+ 55 (+ 56 (+ 57 (+ 58 (+ 59 (+ 60
(+ 61 (+ 62 (+ 63 (+ 64 (+ 65 (+ 66 (+ 67 (+ 68 (+ 69 (+ 70
(+ 71 (+ 72 (+ 73 (+ 74 (+ 75 (+ 76 (+ 77 (+ 78 (+ 79 (+ 80
(+ 81 (+ 82 (+ 83 (+ 84 (+ 85 (+ 86 (+ 87 (+ 88 (+ 89 (+ 90
(+ 91 (+ 92 (+ 93 (+ 94 (+ 95 (+ 96 (+ 97 (+ 98 (+ 99 100
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
一行で書いたら書き込めなかった
88: 仕様書無しさん 投稿日:2014/03/21(金) 20:13:54.93
var i = 1;
console.log(eval([
i++, i++, i++, i++, i++, i++, i++, i++, i++, i++,
i++, i++, i++, i++, i++, i++, i++, i++, i++, i++,
i++, i++, i++, i++, i++, i++, i++, i++, i++, i++,
i++, i++, i++, i++, i++, i++, i++, i++, i++, i++,
i++, i++, i++, i++, i++, i++, i++, i++, i++, i++,
i++, i++, i++, i++, i++, i++, i++, i++, i++, i++,
i++, i++, i++, i++, i++, i++, i++, i++, i++, i++,
i++, i++, i++, i++, i++, i++, i++, i++, i++, i++,
i++, i++, i++, i++, i++, i++, i++, i++, i++, i++,
i++, i++, i++, i++, i++, i++, i++, i++, i++, i++
].join('+')));
管理人より:www
ちなみに言語はJavascript。
91: 仕様書無しさん 投稿日:2014/03/21(金) 23:27:57.85
int i;
i = 1;
i = i + 1;  i = i + 2;  i = i + 3;  i = i + 4;  i = i + 5;
i = i + 6;  i = i + 7;  i = i + 8;  i = i + 9;  i = i + 10;
i = i + 11;  i = i + 12;  i = i + 13;  i = i + 14;  i = i + 15;
i = i + 16;  i = i + 17;  i = i + 18;  i = i + 19;  i = i + 20;
i = i + 21;  i = i + 22;  i = i + 23;  i = i + 24;  i = i + 25;
i = i + 26;  i = i + 27;  i = i + 28;  i = i + 29;  i = i + 30;
i = i + 31;  i = i + 32;  i = i + 33;  i = i + 34;  i = i + 35;
i = i + 36;  i = i + 37;  i = i + 38;  i = i + 39;  i = i + 40;
i = i + 41;  i = i + 42;  i = i + 43;  i = i + 44;  i = i + 45;
i = i + 46;  i = i + 47;  i = i + 48;  i = i + 49;  i = i + 50;
i = i + 51;  i = i + 52;  i = i + 53;  i = i + 54;  i = i + 55;
i = i + 56;  i = i + 57;  i = i + 58;  i = i + 59;  i = i + 60;
i = i + 61;  i = i + 62;  i = i + 63;  i = i + 64;  i = i + 65;
i = i + 66;  i = i + 67;  i = i + 68;  i = i + 69;  i = i + 70;
i = i + 71;  i = i + 72;  i = i + 73;  i = i + 74;  i = i + 75;
i = i + 76;  i = i + 77;  i = i + 78;  i = i + 79;  i = i + 80;
i = i + 81;  i = i + 82;  i = i + 83;  i = i + 84;  i = i + 85;
i = i + 86;  i = i + 87;  i = i + 88;  i = i + 89;  i = i + 90;
i = i + 91;  i = i + 92;  i = i + 93;  i = i + 94;  i = i + 95;
i = i + 96;  i = i + 97;  i = i + 98;  i = i + 99;  i = i + 100;
92: 仕様書無しさん 投稿日:2014/03/22(土) 00:36:53.37
>>91
これが一番のクソコード
108: 仕様書無しさん 投稿日:2014/03/22(土) 21:45:53.21
>>91のコードはタチが悪いような気がする。
パッと見だと何となく合っているように見える。
管理人より:あ、ホントだ!
96: 仕様書無しさん 投稿日:2014/03/22(土) 01:52:37.25
このスレ結構面白い
97: 仕様書無しさん 投稿日:2014/03/22(土) 11:19:03.28
sum=1-100;
期待通りの出力しないとの問いに返事は「仕様書のどこにも1づつ増やした数を加算していくとは書かれておりません。これは仕様変更ですので追加料金を頂きます」
98: 仕様書無しさん 投稿日:2014/03/22(土) 13:37:45.13
c
a = 0;
if (a != 5050)
a++;
if
99: 98 投稿日:2014/03/22(土) 13:38:18.32
そもそも計算式が違うわろた
100: 仕様書無しさん 投稿日:2014/03/22(土) 14:23:12.42
ピエール・ド・フェルマーこの問題に関して、私は真に驚くべきアルゴリズムを見つけたが、このスレはそれを書くには狭すぎる。
114: 仕様書無しさん 投稿日:2014/03/23(日) 13:06:14.69
>>100
そのためにideoneがあるじゃないかフェルマーさん
http://ideone.com/

あーおもしろかった。声だしてワロてしまいました。
しかし、このおもしろさを非プログラマーなドクターに伝えるのは困難であるため、雰囲気で察して欲しいと思います。

1~100までを全部合計すると5050なわけですが、その5050を導くために、マ板の住人が知恵を絞って超回りくどいロジックを捻り出すスレ。
クソスレはクソスレでも、これはなかなか良いクソスレでした。
ところどころハッとするようなトリッキーなコードもあり、頭の体操に良いかもしれない。
yesコマンドなんて聞いたことなかったつーか、fsckする時にyオプションやこのコマンド知ってれば、足の親指で2時間もキーを踏みっぱにする必要はなかったんじゃあないの…。('A`)

簡単な書き方をする、というなら、各言語の特性を活かしてほぼ1行で収まるようなことですが、視点を変えるとまた新たな発見がある。
ウム、良いスレでした。
1.12追記:当サイトの記事を紹介していただいた、1-100までの和の計算をできるだけ短く、3つの異なるプログラム言語で書いて遊ぶ←この記事おもしろかったです。
頭の体操 BEST
頭の体操 BEST
posted with amazlet at 15.07.27
多湖 輝
光文社
売り上げランキング: 22,179


元スレ:http://kanae.2ch.net/test/read.cgi/prog/1394989079/

人気サイト様 最新記事

博士ちゃんねる ヘッドライン

    • ※1 : ドクター・ノオ・ネーム
    • 2015.7.27 21:20
    昨日の宿題
    • ※2 : ドクター・ノオ・ネーム
    • 2015.7.27 21:49
    算数チャレンジに通じる匂いを感じた
    • ※3 : ドクター・ノオ・ネーム
    • 2015.7.27 21:57
    全部のコードにこれはCですswiftですと注釈が付くと興味を持った人がもっと知りたくて教本を買い出すかも知れない
    • ※4 : 名無し
    • 2015.7.27 22:20
    微妙に勉強になる気がするだけで実際なんの役にも立たないという…
    • ※5 : ドクター・ノオ・ネーム
    • 2015.7.27 23:02
    意外と役に立ったわ
    • ※6 : ドクター・ノオ・ネーム
    • 2015.7.27 23:07
    途中まではうんうんとうなずきながら見てたけど
    スレ54が目に入った瞬間「あたるか!!」とつっこんでしまった
    • ※7 : ドクター・ノオ・ネーム
    • 2015.7.28 19:35
    正しいコードも書いて欲しかった
    • ※8 : ドクター・ノオ・ネーム
    • 2015.7.28 22:18
    めっちゃ面白いなぁ。

    >>15を笑ってみてたけど、
    本当にこの要件を実装するとしたらコレが正しいコードかもしれない。
    • ※9 : ドクター・ノオ・ネーム
    • 2015.7.28 23:19
    まず、データベースを作るところから始めないと!
    あらゆる足し算の解を予め並べてそれを配置する
    そしてあらゆる足し算のアルゴリズムの全てをコードしてゆき
    その中からまた選ぶ

    全ての結果から選ぶことこそ至高!!
    • ※10 : ドクター・ノオ・ネーム
    • 2015.7.29 1:03
    面白かったなあ。こういうの来るかと思ったけどなかったな↓

    while (rand() != 5050)
    ;
    puts("5050\n");
  1. いやーこの記事すごいアクセスあってビックリですよ。よかったよかった。


    >昨日の宿題
    >正しいコードも書いて欲しかった

    1さんのオーソドックスなコードくらいしか参考にならないかも…w
    ------------------------
    >これはCですswiftですと注釈が付くと

    一部はどうもわからないものもありますが、だいたいついてると思います。
    ------------------------
    >実際なんの役にも立たないという…
    >意外と役に立ったわ

    なにを持って肥やしとするかは、本人次第ってことで…w
    ------------------------
    >「あたるか!!」とつっこんでしまった

    何百万回試行させるのか、って感じです。
    ------------------------
    >コレが正しいコードかもしれない。

    実際いくつかは、これをタイプするなら電卓で計算した方が…てのもありますw
    ------------------------
    >まず、データベースを作るところから始めないと!

    スケールでかすぎww
    ------------------------
    >こういうの来るかと思ったけど

    管理人もあるかなーと思ってましたが、スレは予想の斜め45度を超えてたw
    • ※12 : ドクター・ノオ・ネーム
    • 2015.10.14 23:06
    6502 マシン語があるなら Z80 もあってもらいたかったな。
    昔懐かしいという意味では行番号付の BASIC での回答とかも欲しい。
    • ※13 : ドクター・ノオ・ネーム
    • 2017.5.27 19:25
    COBOL無くてワロタ
  1. トラックバックはまだありません。


コメ欄での議論はおおいにけっこうですが、当サイトではドクター同士の罵り合いは禁止となっております。反論する際には、相手の意見・人格を尊重し、どうぞ冷静に。
*