オイラー・ディスク

Euler's  Spinning  Disk  オイラー スピニングディスク 並行輸入品
 やたら長時間ぐるぐる回るけど、どうなってんのこれ…




Euler's Disk by ComputerGear [並行輸入品]

Euler's Disk by ComputerGear [並行輸入品]

『Robert The Elf』クリア

f:id:pongeponge:20161022133121j:plain
www.kongregate.com


 エルフを操ってハンカチ(?)を取りに行くゲーム。
上とオマケ程度に下、この2方向にしか弓が発射できないので横方向が辛い。
あと、難易度は初見でもHELLモードがちょうどいいと思う。


クリアのこつ

・正直、ハートを買う必要はほとんどない
 閉じ込められ戦闘が終わればハートは大量回復するからねぇ。
金は鍵の買取りに当てた方がマシ……その鍵も余るんだけど。


・上下誘導&上下回避
 雑魚敵の誘導は上下方向が基本。
ボス戦の場合は、可能であれば敵前面での上下回避が有効。


・ゴースト、ウィザードは優先撃破
 高耐久&墓石から湧いてくるゴースト。
時々テレポートしながら誘導弾を吐いてくるウィザード。
どっちも厄介な雑魚なので、できるだけ早く排除した方が傷が浅くて済む。



エルフでビキニでマシンガン! (MF文庫J)

エルフでビキニでマシンガン! (MF文庫J)

『コハエースこれくしょん』を読み終わった

コハエースこれくしょん (角川コミックス)


三行感想

コハエース初めて買ったけど、本当にグダグダだなぁ
・ライダーさんのテンションがよくわからない
・クロエだけ色ついてて違和感。キャラ的には正しい。



コハエースこれくしょん (角川コミックス)

コハエースこれくしょん (角川コミックス)

Problem3『Largest prime factor』

Optimus PrimeOptimus Prime / inspiwrit
projecteuler.net
 私の環境とプログラムでは、答え出すまでに13秒くらいかかる。


問題

 600851475143の素因数のうち、最も大きい値は何か。


考えた方法

 とりあえず600851475143(長いので以下n)を因数分解すればいいのかな……?
と考えたので、
1. ルートnを求める
2. 2からルートnまでの素数リストを作る
3. nを割れるかどうか、素数リストを大きい方から調べる
4. 割れればそれが最大の素因数
こんな感じなりました。


素因数分解っぽいやつ(分解してない)
using System;
using System.Diagnostics;

namespace Problem3
{
    class Program
    {
        static void Main(string[] args)
        {
            Debug.WriteLine(solv(600851475143));
        }

        static double solv(double n)
        {
            //因数分解の場合ルートn以下の素数で十分なので
            double rn = (double)(int)Math.Sqrt(n);

            //ルートn以下の素数を取得
            List<int> pl = CreatePrimeList((int)rn);

            //nを割れる最も大きい素数を調べる
            int max = 0;
            for(int i = pl.Count-1; i >= 0; i--)
            {
                if (n % pl[i] == 0)
                {
                    max = pl[i];
                    break;
                }
            }

            return max;
        }

        //素数リストの生成
        static List<int> CreatePrimeList(int max)
        {
            List<int> pl = new List<int>();

            pl.Add(2);

            for (int i = 3; i <= max; i+=2)
            {
                if (isPrime(i, pl))
                {
                    pl.Add(i);
                }
            }

            return pl;
        }

        //素数判定
        static bool isPrime(int n, List<int> pl)
        {
            foreach(int p in pl)
            {
                if (n % p == 0) return false;
            }

            return true;
        }
    }
}

間違ってなければ、6857



素数の音楽 (新潮文庫)

素数の音楽 (新潮文庫)

素数ゼミの謎

素数ゼミの謎