プログラミングのお題スレ Part22 (857レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
169: 156 [sage] 2023/11/27(月) 20:35:49.92 ID:VuTnBSK2(1) AAS
>>156
156(10): デフォルトの名無しさん [sage] 2023/11/25(土) 20:07:06.40 ID:zpqT0hBE(1) AAS
お題:ランダムに1から9999までの整数を得た時、何回で全種類出揃うか確認せよ
擬似乱数列生成法については指定しないものとする

ruby
外部リンク:ideone.com
require 'set'
r = 1..9999
c = r.to_a.fill(0)
s = r.to_set
while !s.empty?
n = rand(r)
c[n - r.first] += 1
s.delete n
end
p c.sum

84736
c
外部リンク:ideone.com
・lispのひとの(>>162
162(1): デフォルトの名無しさん [] 2023/11/26(日) 13:43:11.68 ID:4uIV+oN2(1) AAS
>>156 lisp
外部リンク:ideone.com
)をパク…参考にしました
・乱数生成部分は 外部リンク[html]:c-faq.com からコピペしました
int main() {
int a[9999] = {0}, size = sizeof a / sizeof *a, sum, min, max, r, i, j, k;
srand(time(0));
#define randi(size) ((int)((double)rand() / ((double)RAND_MAX + 1) * (size)))
for (r = size; 0 < r; ) if (!a[randi(size)]++) r--;
for (sum = min = max = a[0], i = 1; i < size; i++) {
sum += a[i];
min = min < a[i] ? min : a[i];
max = a[i] < max ? max : a[i];
}
printf("%d\n%f\n[%d, %d]\n", sum, (double)sum / size, min, max);
for (i = min; i <= max; i++) {
for (k = j = 0; j < size; j++) if (i == a[j]) k++;
printf("%d\t%d\n", i, k);
}
return 0;
}
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.040s