SRM582 Div2 Easy "SemiPerfectSquare"
問題
http://community.topcoder.com/stat?c=problem_statement&pm=12580
訳
魔法少女のイリスは"perfect squares"を愛している。正の整数nは、それがもしb*b=n(bは正の整数)と表せるのであれば、"perfect square"である。例えば、1(=1*1), 16(=4*4),そして169(=13*13)は"perfect squares"であり、2,54そして48はそうではない。
イリスは"semi-squares"もまた好きである。正の整数nは、それがもしa*b*b = n(a,bは正の整数で、a >= 1, b > 1, a < b)と表せるのであれば、"semi-square"である。例えば81(=1*9*9)そして48(3*4*4)は"semi-squares"であり、24,63そして125はそうではない。(a < bを満たさなければならない事に注意せよ。24は6*2*2となるが、"semi-square"ではない)
あなたは整数Nが与えられる。それが"semi-square"であるかどうかを返せ。
制約
2 <= N <= 1000
考えた事
問題に書いてあるとおりに調べるだけ
ソースコード
class SemiPerfectSquare { public: string check(int N){ for( int b = 2; b * b <= N; b++ ){ for( int a = 1; a < b; a++ ){ if( a * b * b == N ) return "Yes"; } } return "No"; } };