我用n代替了等式前的式子

该题是求x^2+y^2=1989的符合要求的x,y的所有值。
正确答案是:

    int x=0;
    int y=0;
    for(x=0;x<45;x++){
        for(y=0;y<45;y++){
            if(x*x+y*y==1989){
                cout<" "<

我的答案是:

    int x=0;
    int y=0;
    **int n=x*x+y*y;**
    for(x=0;x<45;x++){
        for(y=0;y<45;y++){
            if(n==1989){
                cout<" "<

我用n代替了等式前的式子,但是运行不出来结果,请问是不能代替吗?为什么?

你把n写在循环外面了,它在循环的过程中也不变呀

n的计算公式放循环里边

img