【Project Euler #003】long longを使って素因数の最大のものを求める(C++)

Project Eulerの3問目。そしてこの記事もまた過去のブログから引っ張ってきたものなので、設問が変わっていたらごめんなさい。

The prime factors of 13195 are 5, 7, 13 and 29.

What is the largest prime factor of the number 600851475143 ?

 

600851475143 の素因数のうち最大のものを求めましょう.

出典;Problem 3 - Project Euler

 

ソースコードはこちら

まぁ、大したコードではないですけども.

 

考え方

ポイントとしてはlong longを使うということ.数値計算とかでよく使うのはdoubleとかばっかりなので初めてかもしれません.

あとは、600851475143まで真面目にループを繰り返すのか?ということ.ループ回数を極端に減らすためにfactors(素因数)の二乗回でストップしておきました.