急救 亲密对数 C++ 找不到错在哪里

求400以内的亲密数。
#include
#include
using namespace std;
int main()
{
int a, b, sum1, sum2, i, j;
for (a = 1; a <= 400; a++)
{
for (i = 1; i <= a; i++)
{
sum1 = 0;
if (a%i == 0)
sum1=sum1+i;
}
}
for (b = 1; b <= 400; b++)
{
for (j = 1; j < b; j++)
{
sum2 = 0;
if (b%j == 0)
sum2 = sum2 + j;
}
}
if (sum1 == b&&sum2 == a&&a != b)
cout << a << "和" << b << "是亲密对数"<< endl;
system("pause");
return 0;
}
运行的话什么都显示不出来,我觉得和网上的差不都啊

虽然完全不知道lz的题目是什么意思...以下是我个人臆想

 #include<iostream>

using namespace std;
int main()
{
    int a, b, sum1, sum2, i, j;
    for (a = 1; a <= 400; a++)
    {
        sum1 = 0;
        for (i = 1; i < a; i++)
        {
            if (a%i == 0)
                sum1=sum1+i;
        }
       // cout << sum1 << endl;
        for (b = a + 1; b <= 400; b++)
         {
            sum2 = 0;
            for (j = 1; j < b; j++)
            {
                if (b%j == 0)
                    sum2 = sum2 + j;
            }
        //  cout << sum2 << endl;
            if (sum1 == b&&sum2 == a&&a != b)
                cout << a << "和" << b << "是亲密对数"<< endl;
        }
    }
    return 0;
}

一些逻辑错误。
1.sum1=0,sum2=0写for循环外面。
2.计算sum1和sum2的时候多加了一个a和b本身。
3.for (b = 1; b <= 400; b++)循环部分应该放到for (a = 1; a <= 400; a++)循环里面,每个a都要和400个b匹配。