GameSprit

自転車やMac・AppleScript、映画・小説やドラマのレビュー、備忘メモ・クイズなどを置いています。

AppleScript:鶴亀算(鶴亀専用バージョン...)

2007-05-12 22:15:08 | AppleScript
街で広告を見ていてやってみようと AppleScript で鶴亀算プログラムを書いてみました。(鶴亀専用バージョンです)

なお、鶴亀算自体は絵を描いてイメージしながら考えられるようになることが本来の目的ですね。


-- 入力部
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; //残りのが鶴の数






最新の画像もっと見る

post a comment

ブログ作成者から承認されるまでコメントは反映されません。