公演のおしらせ
と言っても僕はスタッフなのですが。
当日は受付に座っています。
皆さん受付でお会いしましょう!
雨傘屋 vol.2
『隣にいても一人』
■作:平田オリザ(青年団)
■演出:天野天街(少年王者館)
■日時
5月25日(水) 20:00
5月26日(木) 20:00
5月27日(金) 20:00
5月28日(土) 14:00/19:00
5月29日(日) 14:00/18:00
■会場
ギャラリーADO
熊本市河原町2
■料金(税込)
前売 1800円
当日 2300円
※客席に限りがございますので、お早めのご予約をお願いいたします。
■チケット取扱
○雨傘屋 Tel:090-1972-5164 mail:amagasaya@gmail.com
○ギャラリーADO Tel:096-352-1930
※ご希望の日時・チケット枚数・お名前を上記の連絡先までお知らせください。
■キャスト
椎葉みず穂
平野浩治(劇団濫觴)
松本麻衣子(あったかハートふれあい劇団)
松崎仁美(劇団濫觴)
コバヤシユカリ
夕辺東亜
■スタッフ
美術:雨傘屋舞台部
演出助手:亀井純太郎(劇団第七インターチェンジ)
照明:クワジススム
音楽:おがたひろのり
宣伝美術:久枝きくゑ
チラシコラージュ:アマノテンガイ
制作:シズミヨシアキ 阿部祐子
■協力
劇団第七インターチェンジ+転回社
黒田恵子(ギャラリーADO)
熊本演劇人協議会
劇作家倶楽部
■企画・主催
雨傘屋
イベント情報!
利益は全て日本赤十字社の東日本大震災義援金に寄付をさせていただきます。
飛び入り参加は不可です!
事前に公式ページで参加登録をしてね!
細かい注意事項なども公式サイトをご確認ください。
ちゃんと読めない子はきちゃだめなんだぜ><
プロジェクトオイラーを解いてみるPart3
だいぶ間があきました。
コメントはないものの、コンスタントにカウンターが多く回っているのでけっこう見に来て頂いてるみたいで、喜んでます。
頑張りますよう。
では問題。
The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143 ?
13195 の素因数は 5、7、13、29 である。
600851475143 の素因数のうち最大のものを求めよ。
この問題、簡単なようで、けっこう悩みました。
13195という数字であれば、int型の変数でも行けるのですが、600,851,475,143だとlong型では足りません。(unsignedであっても最大4,294,967,295)
そこで使うのがLongLongInt型です。
現在出版されているC言語の本などは、1990年に規格化されたものが使用されています。
しかし、現在のコンパイラなどは1999年に規格化されたものが仕様になっています。
そのなかでできたのがLongLongInt型です。
これを使用することで、-9,223,372,036,854,775,807~+9,223,372,036,854,775,807(unsignedで最大 18,446,744,073,709,551,615)まで使用できます。
これなら余裕で変数の中に数字が入ります。
◆解法
自然数nの素因数を求めるときは、2から√nまでの素数で割っていくのが基本。
それをプログラムとして実装する。
◆プログラム
#include
#include
main() {
//変数作成
long long prov; //問題の数値を入れる。
long long sprov; //問題の数値の平方根を入れる。
long long i; //彼が素因数探しの旅に出ます。
long long max; //iが探してきた素因数の最大のものを彼が持ちます。
//初期値設定
i = 2; //旅は最初の素数2からスタート
max = 0; //最大値は分かっちゃいないので、0です。
prov = 600851475143LL; //問題数は間違えなく打ち込みましょう。
//実行部
sprov = sqrt((long double)prov); //問題の平方根を算出して、
while(sprov > i) { //iの旅のゴールは問題の平方数です。
if(prov % i == 0) { //問題の数を割り切れるとき、
max = i; //その数は素因数なので最大数になります。
prov /= i; //そしてその数で割ってしまいます。
}else{
i++; //割り切れないときは次の数字へ行きます。
}
}
printf("%lld", max); //ループを抜けたときmaxの中に入ってる数字が最大値です。
}
◆解法
long long int型の変数の使い方は各自ググってみてください。
最近はけっこう出てきます。
基本的には、整数型であることを忘れなければコンパイルエラーを起こすことはありません。
平方数を算出する際にはsqrtという関数を利用します。
これはmath.hの中に入っていますのでincludeをお忘れなく。
sqrtの書式は以下のとおりです。
double sqrt(double x)
これはdouble型変数しか扱うことができませんので、キャストを行います。
しかし、平方数の大きさもすぐに分かるものでもないので、long double型を利用します。
これは大事をとっての事です。
その後、また整数型に入れているのは、この素因数は自然数しかないので、必要ないためです。
後はループの中に放りこんで出てきた数字が、答えとなります。

