纯C暴力破解,双循环解决
#include<stdio.h>
int main(int argc, char const *argv[])
{
int n = 0, sum = 0, number = 0;
while (scanf("%d", &n) != EOF)
{
number = 0;
for (int k = 6; k <= n; k++)
{
sum = 0;
for (int i = 1; i <= k/2; i++)
{
if (k%i == 0)
{
sum += i;
}
}
if (sum == k)
{
number++;
}
}
printf("%d\n", number);
}
return 0;
}

京公网安备 11010502036488号