1円玉ははじめに何枚あったか?

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


【1999年度ジュニア算数オリンピックトライアル問題5問目】
貯金箱をあけると、1円玉、5円玉、10円玉ばかりで合計101枚出てきました。お母さんに、1円玉10枚を10円玉1枚と交かんしていってもらうと、1円玉をすべて交かんすることができて、合計の枚数は65枚になりました。1円玉は、はじめに何枚ありましたか。


【記法化】

ichiyen + goyen + zyuyen == 101;
記録1;

実行;

while (ichiyen != 0){
    if (ichiyen < 0){
        エラー;
    }
    実行;
    
    ichiyen -= 10;
    zyuyen += 1;
    実行;
}

ichiyen + goyen + zyuyen == 65;

記録1 {
    print(ichiyen);
}


【工夫】

start_total == 101;
decreases_per_step == 9;
end_total == 65;

steps == (start_total - end_total) / decreases_per_step; 
answer == steps * 10;
print(answer);

合計に着目して1行目の「ichiyen + goyen + zyuyen == 101;」の「ichiyen」「goyen」「zyuyen」の用意を飛ばす。「101枚から1円玉が10枚減って10円玉が1枚増えて合計92枚、92枚から1円玉が10枚減って10円玉が1枚増えて合計83枚~」という計算を合計65枚になるまで繰り返して、1円玉が何枚減ったかを確認するのが普通の方法。対して合計の変化に着目して、1円玉が何枚減ったかを復元するのが工夫された方法。

しかしこの手の工夫を普遍的に分類することができるんだろうか。今から疑問だ。