WARush

SRMの結果とか、解けた問題のコードを書いていきます

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";
    }
};