【初心者】課題をクリアしていくスレ【講習会】at GAMEDEV【初心者】課題をクリアしていくスレ【講習会】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト694:名前は開発中のものです。 08/04/06 04:47:09 6iQTQxIz >>693 とりあえず、 ・srand()を使わないと答えのパターンが毎回同じになること ・rand()のような線形合同法が用いられている(と推測できる)関数の 返り値の余りを採るやり方は、数値が偏りやすくなる可能性があること を覚えるべき。2番目はわからなければ今は無視してもいいけど 1番目だけは絶対に理解しておくべき。 695:名前は開発中のものです。 08/04/06 05:32:21 pZ63dDRm %cで1~9を入力すると数字の'1'(0x30)~'9'(0x39)になる。 %dで1~9を入力すると数値の1(0x0)~9(0x9)になる。 この場合欲しいのは数値なので%dで正解だと思う。 696:名前は開発中のものです。 08/04/12 16:41:42 wUyPJZn0 >数値が偏りやすくなる可能性があること 気になったので実験。 下記プログラムにて偏りを目視で確認してみた。 (実行結果:http://gamdev.org/up/img/11312.phps) 67と68を境に出現頻度が変わってる。 #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { long int hit[100]={0}; long int i; srand((unsigned)time(NULL)); for (i=0 ; i<1000000000 ; i++) { hit[rand()%100]++; } for (i=0 ; i<100 ; i++) { printf("%d\t%d\n", i, hit[i]); } return 0; } 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch