こちらでは女の子の15歳の誕生日(quinceañera)は盛大に祝う。マヤ先住民族の村でもそれは一緒。
誕生会の一場面。
こちらでは女の子の15歳の誕生日(quinceañera)は盛大に祝う。マヤ先住民族の村でもそれは一緒。
誕生会の一場面。
でこれが下のコードを用いて作成したアプリ(画像をクリックでアプリのページへ)。
一応、10桁までの入力可能。10桁でも直ぐに判定できるので桁数は12位までは増やしてもいいかも。
入力した数字が素数の場合だけその数字をマヤ数字に変換する仕様。アイコンはマヤ文明で重要な13にしようと思ったけど敢えて20の手前の素数である19にした。
因みに背景はTak’alik Ab’aj という遺跡で撮った写真を加工したもの。
アンドロイド端末用の素数判定アプリを作成した際に下記の様なコードを書いた。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
final long N = 5915587277L; boolean flag = true; if(N < 2){ flag = false; } else if(N%2 == 0){ flag = false; } else{ for(long i = 3; i <= Math.sqrt(N); i+=2){ if(N%i == 0){ flag = false; break; } } } if(flag){ System.out.println("This number is a prime number"); } else{ System.out.println("This number isn't a prime number"); } |
これである程度判定が速くなる。アルゴリズム自体は非常に単純。スマホでも10桁の素数判定に1秒もかからない。もう少し桁数増やすかな。
プロジェクト作製段階のこの画面でFullscreen Activityを選択と言いたいところだけど、
このアクティビティが非常に使いづらいので下記の方法で行ってみる。
まずは
valuesフォルダ下のstyles.xmlに新たなスタイルを追加:
1 2 3 4 5 6 |
<style name="FullScreen" parent="@style/Theme.AppCompat.Light"> <item name="windowNoTitle">true</item> <item name="windowActionBar">false</item> <item name="android:windowFullscreen">true</item> <item name="android:windowContentOverlay">@null</item> </style> |
その後AndrroidManifest.xmlを新規作成したスタイルを使用するために修正する。
つまり
これを
1 |
android:theme="@style/AppTheme"> |
下記の様に修正。
1 |
android:theme="@style/FullScreen"> |
これで完了。
古代キチェ王国の遺跡。ショパンの音楽と共に。