c语音看了都摇头的题

输出1~1000之间因子之和等于100的数,并统计这些数的个数


#include<bits/stdc++.h>
using namespace std;

bool fun(int x)
{
    int sum=0;
    for(int i=1;i<x;i++)
    {
        if(x%i==0) sum+=i;
    }
    //cout<<sum<<endl;
    if(sum==100)
    {
        cout<<x<<endl;
        return true;
    }
    return false;

}
int main() {

    int sum=0;
    for(int i=1;i<=10000;i++)
    {
        if(fun(i)) sum++;
    }
    cout<<sum<<endl;
    return 0;
}