Programming/C++

모던 c++ 챌린지 3이나 5로 나누어떨어지는 자연수의 합 , 최대공약수, 최소공배수

fishersheep 2021. 8. 15. 17:32
반응형
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;

int main()
{
	int x;
	int sum = 0;
	cout << "자연수 입력:";
	cin >> x;



	for (int i = 0; i <= x; i++)
	{
		if (i % 3 == 0 || i % 5 == 0)
			sum += i;
	}
	
	cout << "3이나 5로 나누어떨어지는 수의 합은" << sum;

	return 0;
}

최대공약수

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;

int main()
{
	int x, y;
	int temp;
	int num;

	cin >> x;
	cin >> y;

	if (x < y)
	{
		temp = x;
		x = y;
		y = temp;
	}

	while (y != 0)
	{
		num = x % y;
		x = y;
		y = num;
	}

	cout << "최대공약수:" << x;

	return 0;
}

최소공배수

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;

int main()
{
	int x, y;
	int temp;
	int num;
	int sum=0;

	cin >> x;
	cin >> y;

	if (x < y)
	{
		temp = x;
		x = y;
		y = temp;
	}

	sum = x * y;

	while (y != 0)
	{
		num = x % y;
		x = y;
		y = num;
	}
	
	
	int result = sum / x;

	cout << result;


	return 0;
}
반응형