取り出してはいけない1個の数字はいくつ?

※記法については『算数の問題文の記法のまとめ【随時更新】 - 算数の問題文の記法を考える』を読んでください。


【1999年度ジュニア算数オリンピックトライアル問題1問目】
1から9までの数字が1こずつあります。この中から8この数字を取り出して、その和が39になるようにしたいとおもいます。取り出してはいけない1この数字はいくつですか。


【記法化】

num_group := {1, 2, 3, 4, 5, 6, 7, 8, 9};

実行;

pick_num_group := 被りなしで8つ移動 := num_group.every;

実行;

pick_num_group.合計 == 39;
answer == num_group.1個;
print(answer);


【工夫】

num_group := {1, 2, 3, 4, 5, 6, 7, 8, 9};

実行;

answer == num_group.合計 - 39;

実行;

除去(num_group, answer);

実行;

num_group.合計 == 39;
print(answer)

8個取り出した数字の和が39になれば良いだけなので、
「pick_num_group := 被りなしで8つ移動 := num_group.every;
 実行;
 pick_num_group.合計 == 39;」
の部分は丸々不要。合計39移動≒合計39引き算に置き換えた。ただしその後に検算は必要になる。
自分としてもスッキリしないけど、分類としてはやらなくて良い演算過程の省略となるんじゃないか(あるいは未整理だが全体の利用か?)。これで9つから被りなしで8つ選ぶ、つまり9通りの試行が、結果的に1通りになった。