C语言程序有关过大数据的问题


#include <stdio.h>
#include <stdlib.h>

#define N 100000
int anw[N][3]={0},a[N][N]={0};
int main()//an=2n-1,sn=n(1+2n-1)/2=n2n/2=n*n
{
    int x;
    int t,s=0,num=2;//a[i][j],i-hang,j-lie
    //int anw[N][3]={0},a[N][N]={0};
    scanf("%d",&t);
    a[1][1]=1;
    for (int i=0;i<t;++i)
    {
        scanf("%d",&x);
        for (int n=1;n!=0;++n)
        {
            if (n*n>=x&&(n-1)*(n-1)<x)
            {
                s=n;
                break;
            }
        }
        for (int j=2;j<=s;++j)//a[k][j]**
        {
            for (num;num<=j*j;)
            {
                if(num<=(j*j+(j-1)*(j-1)+1)/2)
                {
                    for (int k=1;k<=j;++k)
                    {
                        a[k][j]=num;
                        ++num;
                    }
                }
                else
                {
                    for (int k=j-1;k>=1;--k)
                    {
                        a[j][k]=num;
                        ++num;
                    }
                }
            }
        }
        for (int i1=1;i1<=s;++i1)
        {
            for (int j=1;j<=s;++j)
            {
                if (a[i1][j]==x)
                {
                    anw[i][0]=1;
                    anw[i][1]=i1;
                    anw[i][2]=j;
                }
            }
        }
    }
    for (int i=0;i<t;++i)
    {
        if(anw[i][0]==1)
        {
            printf("%d %d\n",anw[i][1],anw[i][2]);
        }
    }
    return 0;
}

这是一道题目的程序,题目要求:
输入:
#1
1
11
#2
1
1000000000
输出:
#1
2 4
#2
31623 14130
但是输入#2数据后之后什么都没输出。请问该怎么解决?

请给出具体题目,谢谢

第一,你这代码会运行很久……

其次,请看这一段与这一段

 for (int i1=1;i1<=s;++i1)
        {
            for (int j=1;j<=s;++j)
            {
                if (a[i1][j]==x)
                {
                    anw[i][0]=1;
                    anw[i][1]=i1;
                    anw[i][2]=j;
                }
            }
        }

and

    for (int i=0;i<t;++i)
    {
        if(anw[i][0]==1)
        {
            printf("%d %d\n",anw[i][1],anw[i][2]);
        }

你a数组的第一个下标都不一样(也许是题目要求,但是我认为有误)

img

请看我的电脑C++提示太大了

img

请把你的代码填入 ‘代码块’

题目是啥呀,看代码估计是这里卡住了

img