とまとの雑記

待望のスーツが来た!

こんばんは、とまとです。

ZOZOSUITが来た!

f:id:projectormato:20180720233039j:plain

ついに来ました、測定、良くも悪くも楽しみです!!

Scala

Project Eulerしました。3問目。問題はこちら
最初Nの半分くらいから2ずつforを逆に回そうと思ったんですけど、このstackoverflowにあるように、for文のtoは裏でIntの制限を受けてるっぽく?て断念。 最終的にはこんな感じのコードになりました。

object p3 {
  import scala.math._
  def main(args: Array[String]) :Unit = {
    val n = 600851475143L; var flag = false; var target = 0L; var i = 3; var loop = true
    while(loop){
      if(n%i == 0){
        flag = true
        target = n/i
        for(j <- 3 to sqrt(target).toInt by 2){
          if(target%j == 0) flag = false
        }
        if(flag){
          println("素因数: " + target)
          loop = false
        }else{
          println("因数: " + target)
        }
      }
      i += 2
    }
  }
}

変数宣言のところとかめっちゃ初心者感出てますけど、ご愛嬌ということで。
importとか、キャストとか、2ずつのforとか、結構良い感じに書けたので、いいねって感じでした。

でも、ideaが昨日コンパイル出来たのに今日は出来なかったり、Project開き直したらコンパイル出来たり、なんだか凄まじい感じなのでうーんって感じですね。
小さいコードたちだし、Atomの方が適してるのかなあ

Atcoderもやろうと思ったんですけど断念しました。またいつか。

研究

まあまあですね。来週資料見せて、良い感じになるといいなー
ROSやらなきゃ。