// 优化一下:函数perfect里面的for循环只遍历到 n/2。
#include <iostream>
using namespace std;
bool perfect(int n){
int sum = 0;
for(int i = 1; i <= n/2; ++i){
if(n % i == 0){
sum += i;
}
}
return n == sum;
}
int main() {
int n;
cin >> n;
int cnt = 0;
for(int i = 1; i <= n; ++i){
if(perfect(i)){
cnt++;
}
}
cout << cnt << endl;
return 0;
}
// 64 位输出请用 printf("%lld")

京公网安备 11010502036488号