입력으로 N개의 정수가 주어진다.
정수 N의 약수를 오름차순으로 출력하는 프로그램을 작성하라.
N은 1 이상, 1000 이하의 정수이다.
입력으로 정수 N이 주어진다.
정수 N의 모든 약수를 오름차순으로 출력한다.
#include <iostream> // 입출력 헤더
using namespace std; // std를 이름공간으로 설정
int main(){
int N, PN; // 정수형 변수 N, PN 선언
cin >> N; // N을 입력 받음
if(N <= 0 | N > 1000){ // 만약 N이 0 이하이거나 1000 초과인 경우
cout << "0부터 1000사이의 숫자를 입력해주세요." << endl;
// 메세지 출력
return 0; // 종료
}
for(int i=1; i<=N; i++){ // 1부터 N까지 1씩 증가하는 반복문
PN = N % i; // N을 i로 나누었을 때, 나머지를 PN에 저장
if(PN == 0){ // 만약 PN이 0이라면
cout << i << ' '; // i와 공백을 출력
}
}
}
// 어떤 수를 나누었을 때 나머지가 0이라면 나눈 수가 나눠진 수의 약수가 된다는 간단한 원리를 사용