|
uchinyan |
|
あまり賢い方法ではありませんが、正直に、赤色の生物及び青色の生物が一匹ずついる場合から分裂させて、
赤色が 2005 匹、青色が 1019 匹になるのをチェックするプログラムを組んでみました。 あ、今、下を見たら、kasamaさんとアルゴリズムは全く同じですね ^^; REM 算数にチャレンジ473回 REM 赤色の生物の数を r 匹 REM 青色の生物の数を b 匹 SUB check(r,b,t) IF (r <= 2005) AND (b <= 2005) THEN LET c = c + 1 IF (r = 2005) AND (b = 1019) THEN PRINT "赤色が2005匹,青色が1019匹の場合:";t;"秒後" END IF CALL check(r+b,b,t+1) CALL check(r,r+b,t+1) END IF END SUB LET c = -1 CALL check(1,1,0) PRINT "両方の生物が 2005 匹以下の分裂パターンの総数:";c;"通り" END 結果は、 赤色が2005匹,青色が1019匹の場合: 42 秒後 両方の生物が 2005 匹以下の分裂パターンの総数: 2445610 通り です。 最初から真面目に調べると、2445610 通り、もの場合を調べることになり、大変です...(^^; |
|
ネコの住む家
10月20日(木) 11:16:39
MAIL:uchi@sco.bekkoame.ne.jp 26006 |