为什么调试会卡住?是我的电脑配置太低了吗?

图片说明

#include <iostream>
#include <string>
#include <cmath> 
using namespace std;
//1. 寻找并输出11~999之间的数m,它满足m、m^2和m^3均为回文数。
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int ispalidrome(int i)             //判断i是否为回文 
{
    int flag=0;
    int *a=new int;
    int n=0;
    int k=10;
    while(i>=1)
    {
        a[n]=i%k;
        i/=10;
        //cout<<n<<endl;
        n++;
    }
    for(int j=0;j<n;j++)
    {
        if(a[j]==a[n-1-j])
            flag=1;
        else 
            flag=0;
    }
    return flag;
}
int main(int argc, char** argv) {
    int i=11;
    /*for(i=11;i<=999;i++)
    {
        if(ispalidrome(i))
        {
            if(ispalidrome(i*i))
            {
                if(ispalidrome(i*i*i))
                {
                    cout<<i<<endl;
                }
            }
        }
    }*/
    cout<<ispalidrome(32);
    return 0;
}

int *a=new int;
这里分配的只是单个int,导致下面越界