もう一人のY君

主にiPhoneのショートカットアプリのレシピやTipsなどを書いています. たまに数学の記事も書きます.

もう一人のY君 MENU  MENU

【ショートカット】割り切れるかどうかを判定

181103_13

 今回は割られる数が割る数で割り切れるかどうかを判定するショートカットを作ってみました.

 なお本記事では「自然数」を「正整数」の意味で使うことにします.

 

ショートカット

ショートカット

  • Apple
  • 仕事効率化
  • 無料

※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.

 レビュー時のバージョン : v2.1

 

スポンサーリンク

 

 

「割り切れる」をどう表現するか

 割られる数(被除数) { \displaystyle b } が割る数(除数) { \displaystyle a } で割り切れるということをどう判定するべきでしょうか?

 ショートカットには現在「余り」を求めるアクションはありません.

 

 1つの案としては, もし { \displaystyle b } が { \displaystyle a } で割り切れるなら, その商 { \displaystyle \frac{b}{a} } が整数になることを利用します.

 逆に言えば { \displaystyle b } が { \displaystyle a } で割り切れないならば { \displaystyle \frac{b}{a} } は整数にならず小数となります.

 とすると商の床関数 { \displaystyle \biggl[ \frac{b}{a} \biggr]  }, つまり { \displaystyle \frac{b}{a} } の小数点以下切り捨ては割り切れるとき等しくなり, そうでないときは異なります.

 

  • { \displaystyle b } が { \displaystyle a } で割り切れる { \displaystyle \Leftrightarrow \, \frac{b}{a} = \biggl[ \frac{b}{a} \biggr] }
  • { \displaystyle b } が { \displaystyle a } で割り切れない { \displaystyle \Leftrightarrow \, \frac{b}{a} \neq \biggl[ \frac{b}{a} \biggr] }

 

 今回はこれを採用します.

 

 

 

フロー

181103_14

 まず被除数と除数を「入力を要求」で取得します.

 続いてまず商 { \displaystyle \frac{\text{被除数}}{\text{除数}} } を求めます(①).

 

 

181103_15

 商 { \displaystyle \frac{\text{被除数}}{\text{除数}} } が求まり, 結果が入力に残っているのでそのまま「端数処理」で小数点以下を切り捨て, これを  { \displaystyle \biggl[ \frac{\text{被除数}}{\text{除数}} \biggr] } として取得します(②).

 2数を比較して等しいなら素数, そうでないなら素数でない(合成数)と表示すれば完了です.

 

 

181103_27

 後は実行して結果が正しいか確かめます.

 

 

 制限などは書いていませんが0や負数にも対応しています.

 

 高級言語なら例えば fmod(x,y) を判定して終わりですが, その中身をどうつくるべきかを考える意味ではアセンブリレベルのアクションだけで試行錯誤するのは面白いですね.

 

 

URLスキームについてはこちら

[Search]iPhone URLスキーム -The theoryの戯言

iPhoneのURLスキームを検索して一覧表示できます. リクエストは内容に応じてお答えします.