[過去ログ] 高校数学の質問スレ Part438 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
508(5): 2025/03/28(金)02:27 ID:ViWJ+iOy(1) AAS
#!perl
import itertools
# n個のものを3つに分けたときの個数i,j,kのリスト
def divide(n):
return [[i, j-i, n-j] for i in range(n+1) for j in range(i, n+1)]
赤順列, 黒順列, 白順列, 青順列 = divide(4), divide(3), divide(2), divide(1)
箱3 = set()
for 赤,黒,白,青 in itertools.product(赤順列,黒順列,白順列,青順列):
箱 = tuple((赤[i], 黒[i], 白[i], 青[i]) for i in range(3) if 赤[i]+黒[i]+白[i]+青[i] > 0)
if len(箱) == 3: # 空箱なし
省4
509(2): 2025/03/28(金)07:26 ID:q0bJZBR1(1/2) AAS
>>508
Runtime error #stdin #stdout #stderr 0.01s 5288KB
外部リンク:ideone.com
514: 2025/03/28(金)13:31 ID:1LMuLD76(2/3) AAS
>>512
自分の>>508も396だ
515: 2025/03/28(金)13:33 ID:1LMuLD76(3/3) AAS
>>508
スマン最初のコメントが間違ってた
518(1): 2025/03/29(土)06:38 ID:u+UC3jXC(1/4) AAS
>>508
Pythonは知識不足なので慣れたR言語に移植
divide = \(n) {
indices = expand.grid(i = 0:n, j = 0:n)
indices = indices[indices$j >= indices$i, ]
result = lapply(1:nrow(indices), \(k) {
x = indices[k, ]
matrix(c(x$i, x$j - x$i, n - x$j), nrow = 1)
})
return(result)
省23
531: 2025/03/31(月)10:57 ID:u+Kd/O/2(1/3) AAS
>508を関数化して算出。
solve(1,2,3,4)
solve(2,3,4,5)
solve(3,4,5,6)
[1] 396
[1] 2988
[1] 14316
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.035s