#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; }
'예제 모음 > 정보처리기사-수학' 카테고리의 다른 글
[정보처리기사] 가까운 수 구하기 - C언어 구현 (0) | 2013.03.31 |
---|---|
[정보처리기사] 배수의 개수와 합 - C언어 구현 (0) | 2013.03.31 |
[정보처리기사] 최대값, 최소값 구하기 - C언어 구현 (0) | 2013.03.31 |
[정보처리기사] 소인수 분해 - C언어 구현 (0) | 2013.03.31 |
[정보처리기사] 최대 공약수(gcm), 최소공배수(lcm) - C언어 구현 (0) | 2013.03.31 |
[정보처리기사] 소수의 합 - C언어 구현 - 에라토스테네스의 체를 이용한 소수의 합 구하기 (2) | 2013.03.31 |
[정보처리기사] 소수의 합 - C언어 구현 (0) | 2013.03.31 |