POJ 3629 实力太有限,实在没搞懂错在哪,求告知


#include<iostream>
#include<queue>
#include<algorithm>  
using namespace std;


int main()
{
    int n, k, p, m;
    int  j, l;
   int a2[100];

   while (cin >> n >> k >> p && n>=2&&n<=100 && k >=n && k<=100000 && p >=1 &&p<=10)
   {

       queue<int> a1;
       for (m = 1; m <= k; m++)
       {
           a1.push(m);
       }
       j = 1, l = 0;
       while (a1.size())
       {
           if (n%j == 0)
           {
               a2[l] = a1.front();
               l++;
           }
           a1.pop();
           for (int i = 0; i < p; i++)
           {

               a1.push(a1.front());
               a1.pop();
           }
           j++;
       }
       sort(a2, a2 + l);
       for (int i = 0; i < l; i++)
           cout << a2[i] << endl;
       return 0;


   }

        

}

错误行:25行(n%j == 0)
改成:(j%n== 0)就行了
不得不说这个错误真的有点搞笑,不知道你怎么得到n%j的