为什么没有运行结果,代码哪里错了?

图片说明

/*2. 求400之内的一对亲密对数。所谓亲密对数就是指两个整数A和B(A不等于B),
且A的除本身外的所有因子(如,6的除本身外因子为1,2,3)之和等于另一个整数B,
B除本身外的所有因子之和等于A。则这两个数为亲密对数。*/
#include <iostream>
#include <cmath>
#include <vector>
using namespace std;
int fun(int A)     //求亲密对数
{
    int B = 0;
    for (int j = 1; j <= sqrt(A); j++)
    {
        if (!(A % j))
        {
            B += j;
        }
    }
    int Bs = 0;
    for (int j = 1; j <= sqrt(B); j++)
    {
        if (!(B % j))
        {
            Bs += j;
        }
    }
    if (A != B && A == Bs)
    {
        return B;
    }
    else
        return 0;
}
int main()
{
    int A = 1;
    for (int A = 1; A <= 400; A++)
    {
        int B = fun(A);
        if (B&&B<=400)
        {
            cout << A << " " << B << endl;
        }
    }
    return 0;
}
int B = fun(A);//你这个返回值一直都是零
if (B&&B<=400) //这个条件不满足,一直没打印;

你检查你的fun 逻辑对了没