カメヲラボ

主にプログラミングとお勉強全般について書いてます

Steps(3)

とっても短いコード88B

sqrtを利用するとループを使う必要が無くなるので、コードは短くなる。



main(a,b){
for(gets(b);~scanf("%d%d",&a,&b);printf("%d\n",(a=sqrt(b-1))*2|b-a>a*a))b-=a;
}
sqrtの引数に-1を渡す場合があるというアヤシイコードである。
sqrtに負の数を与え、戻り値をint型にcastするとintの最小値になる。
それに2をかけることで0になるのだ。


我ながらシュゴー(゚д゚)と思うのだが、
kurimuraさんがさらに短いコードで通すことに成功した!


つづく。