#include <iostream>
using namespace std;
int main()
{
int n, s;
cin >> n;
for (int i = 2; i <= n; i++)
{
s = 0;
for (int j = 1; j <=i/2; j++) {
if (i % j == 0)
{
s += j;
}
}if (s == i)
{
cout << i << endl;
}
}
}
s是用来求和的。
可是,想问一下,如果在for循环外面初始化s为0,就不会输出任何东西,这是为什么呢?在for里面和外面初始化有什么区别吗?