※記法については『算数の問題文の記法のまとめ【随時更新】 - 算数の問題文の記法を考える』を読んでください。
【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通りになった。