PerlとC++にしかできないような気がするアノ機能(挑戦者募集中)
#!/usr/bin/perl srand(time); my $a = 0; my $b = 0; for(my $i = 0; $i < 1000; $i++) { (rand(2)<1 ? $a : $b) += 1; } print "$a, $b\n"
#include <cstdio> #include <cstdlib> #include <time.h> int main(int argc, char **argv) { srand((unsigned)time(NULL)); int a=0, b=0; for(int i = 0; i < 1000; i++) { (rand()&16 ? a : b)++; } printf("%d, %d\n", a, b); return 0; }
可読性低下するだけで他の書き方をしたほうがいいし、二分探索とこれくらいしか役に立たない気はする。
敗北リスト
補足
わかると思うけど補足すると、三項演算子を左辺値として扱う機能。