Programming/C++

모던c++챌린지 과잉수 구하기

fishersheep 2021. 8. 13. 01:18
반응형
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cmath>
using namespace std;

int sum_proper_divisors(int const number)
{
	int result = 1;
	for (int i = 2; i <= sqrt(number); i++)
	{
		if (number % i == 0)
		{
			result += (i == (number / i)) ? i : (i + number / i);
		}
	}
	return result;
}

void print_abundant(int const limit)
{
	for (int number = 10; number <= limit; ++number)
	{
		auto sum = sum_proper_divisors(number);
		if (sum > number)
		{
			cout << number << ",abundance=" << sum - number << endl;
		}
	}
}


int main()
{
	int limit = 0;
	cout << "Upper limit";
	cin >> limit;

	print_abundant(limit);

}
반응형