#include <iostream>
#include <vector>

using namespace std;

int main()
{
	int nInput;

	printf("0을 입력하면 종료\n\n");

	while(1)
	{
		vector<int> vectorArr;

		printf("정수를 입력하세요 : ");
		scanf("%d", &nInput);
		if(nInput == 0)
		{
			return 0;
		}

		//약수 구하는 부분, 입력 값에서 /2 하므로써 효율적으로 변함.
		for( int i=1 ; i<=nInput/2 ; ++i )
		{
			//나누어 나머지가 0이면 약수
			if(nInput%i == 0)
			{
				vectorArr.push_back( i );
			}
		}

		//출력
		printf("입력한 수의 약수는 ");

		for( int j=0 ; j<vectorArr.size() ; ++j )
		{
			printf( "%d ", vectorArr[j] );
		}

		printf( "%d 이며, 총 %d개 입니다.\n\n", nInput, vectorArr.size()+1 );
	}

	return 0;
}

+ Recent posts