街で広告を見ていてやってみようと AppleScript で鶴亀算プログラムを書いてみました。(鶴亀専用バージョンです)
なお、鶴亀算自体は絵を描いてイメージしながら考えられるようになることが本来の目的ですね。
鶴亀算 - Wikipedia の記述と プログラムについて - Yahoo!知恵袋 の下記回答を参考にさせていただきました。
なお、鶴亀算自体は絵を描いてイメージしながら考えられるようになることが本来の目的ですね。
-- 入力部
display dialog "鶴と亀は合計で何匹ですか?" default answer ""
set sum to text returned of result
display dialog "鶴と亀の足の数は合計で何本ですか?" default answer ""
set fsum to text returned of result
--本体
set fkame to 4 --亀の足は4本
set fturu to 2 --鶴の足は2本
set turu to sum --全部鶴であると仮定
set fdif to fsum - sum * 2 --足はfdifだけ違う
set kame to fdif / (fkame - fturu) --fdifを亀と鶴の足の差で割ったものが亀の数
set turu to sum - kame --残りのが鶴の数
--出力部
display dialog "亀は " & (kame as integer) & "匹、鶴は " & turu & "羽です" as text -- kame は整数化しておく
-- Mac OS X 10.4.9 on Intel mac mini
鶴亀算 - Wikipedia の記述と プログラムについて - Yahoo!知恵袋 の下記回答を参考にさせていただきました。
回答した人: trappedintheskyさん グレード 4-3 この回答内容が不快なら
回答日時: 2007/4/13 17:33:18 回答番号: 36,424,201
一番簡単とはいえないが、式が一番少ない方法だと思います。
まず17が全部鶴であると仮定します
すると足の数は17*2=34になるはず
しかし実際に足は44ですので、44-34=10たりない
亀の足が鶴より2多いので、10/2=5が亀の数になるわけです。
Cでは
int sum,kame,turu,fsum,fdif,fkame,fturu;
sum=17; //頭数が17
fsum=44; //足数が44
fkame=4; //亀は足が4つある
fturu=2; //鶴は足が2つある
turu=sum; //17全部鶴であると仮定
fdif=fsum-sum*2; //足はfdifだけ違う
kame=fdid/(fkame-fturu); //fdifを亀と鶴の足の差で割ったものが亀の数
turu=sum-kame; //残りのが鶴の数