SRM 424 DIV1 Easy - ProductOfDigits x

問題


http://community.topcoder.com/stat?c=problem_statement&pm=10177&rd=13515

ある整数Nが与えられる。
各桁の数の積がNになる整数について、
その最小の桁数を求める。

解き方


Nを9から1で順番に割れるか確かめていって、その商の数が桁数になる。

コード


class ProductOfDigits {

public: int smallestNumber(int N) {
int ret=0;
for(int i=9;i>1;i--){
while(N%i==0)N/=i,ret++;
}
if(N!=1)return -1;
if(ret==0)return 1;

return ret;

}

};

Share this

Related Posts

Previous
Next Post »