Steps(5)
最短コード79B
最短コード1番乗りはid:kurimuraさんだ
http://d.hatena.ne.jp/kurimura/20060307/1141706414
というわけでkurimuraさんのコードを引用させてもらう。
main(a,b){
for(gets(b);
~scanf("%d%d",&a,&b);
printf("%d\n",a=sqrt(b-a)*2-1e-9));
}
.0001とすると80バイトになるので1e-9としている。これでもっとキワドイ入力にも耐えられるというわけだ。スバラシイ。これぞ最短コードという感じだ。
しかしただ引用というのもつまらないので、オマケとしてCの最短コード(と思われるもの)を公開しておく。
float sqrt(),a;
main(n){
for(gets();~scanf("%f%d",&a,&n);
printf("%d\n",n=sqrt(n-a)*2-1e-6));
}
Cの場合はプロトタイプ宣言が必要なのでその分長くなってしまう。doubleでなくてもfloat型で十分のようなので多少短くなが・・・。それから盲点になるのがgets()の部分。GCCではRuntime ErrorになるがCでは『通る場合がある』
通る場合があるというのは、REやWAになる場合もあって確実性は無いということだ。1145祭りでもtime()で通ることがあったので、『ムリかな〜』と思っても一度は試しにやってみよう。