qq_45735316 2020-05-04 12:52 采纳率: 94.1%
浏览 162
已采纳

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

图片说明

#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;
}
  • 写回答

1条回答 默认 最新

  • threenewbee 2020-05-04 13:11
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作