PKU 3720 Occurrence of Digits

http://poj.org/problem?id=3720
1/nを小数表示したとき、(循環部分は1回だけ書く)1/2,1/3,1/4,・・・,1/nの中にkとなる桁はいくつあるかを求めろというような問題。

筆算するだけ。
だけといいながら、デバッグ時のままのプログラムをサブミットしてしまって1WAをもらいました。

vector<int>dig[200];

void divi(int n){
  vector<int>& pp=dig[n];
  int di=1;

  set<int>app;
  while(true){
    if(di==0 || app.count(di))break;
    app.insert(di);
    di*=10;
    pp.pb(di/n);
    di-=di/n*n;
  }
}

main(){
  for(int i=2;i<=100;++i)
    divi(i);

  int n,k;
  while(cin>>n>>k){
    int ans=0;
    for(int i=2;i<=n;++i){
      FOR(iter,dig[i])ans+=*iter==k;
    }
    cout<<ans<<endl;
  }
}