TopCoder - SRM 144 DIV 2: 500

うんむ・・・。難題にぶち当たって先に進まないから、息抜き(?)にTopCoderを解いた。なぜかストレス発散になるwww今回の問題は与えられた数値が何個の数値で割り切れるのかを求めるもの。割り切れない場合は'-1'を返す。

public class ProductOfDigits {
  public int smallestNumber(int N) {
    int i;
    for (i=1; true; i++) {
      int j = getint(N);
      if (j==-1) {
        return -1;
      }
      N = N / j;
      System.out.println("N:"+N+" J:"+j);
      if (N==1) {
        break;
      }
    }
    return i;
  }
  int getint (int N) {
    for (int i=9; i>1; i--) {
      if (N%i==0) {
        return i;
      }
    }
    return -1;
  }
}

コメント

このブログの人気の投稿

Disqus のスケール - Django 編

Python から Win32 API 経由で印刷する

財務諸表 (Financial Statements)