
									 Problem
								
								
									 Solution
								
								
									 Submissions
								
								
							Divisors of a Given Number
								Certification: Basic Level
								Accuracy: 57.14%
								Submissions: 7
								Points: 15
							
							Write a C++ program that prints all the divisors of a given positive integer in ascending order.
Example 1
- Input: n = 12
- Output: 1, 2, 3, 4, 6, 12
- Explanation: - Step 1: Find all integers from 1 to sqrt(n) that divide n without a remainder.
- Step 2: For each divisor i found in Step 1, n/i is also a divisor.
- Step 3: The divisors of 12 are 1, 2, 3, 4, 6, and 12 since each divides 12 without a remainder.
- Step 4: Return the list of divisors in ascending order.
 
Example 2
- Input: n = 17
- Output: 1, 17
- Explanation: - Step 1: Find all integers from 1 to sqrt(n) that divide n without a remainder.
- Step 2: For each divisor i found in Step 1, n/i is also a divisor.
- Step 3: Since 17 is a prime number, its only divisors are 1 and itself (17).
- Step 4: Return the list of divisors in ascending order.
 
Constraints
- 1 ≤ n ≤ 10^9
- Input is a positive integer
- Time Complexity: O(sqrt(n))
- Space Complexity: O(sqrt(n)) for storing the divisors
Editorial
									
												
My Submissions
										All Solutions
									| Lang | Status | Date | Code | 
|---|---|---|---|
| You do not have any submissions for this problem. | |||
| User | Lang | Status | Date | Code | 
|---|---|---|---|---|
| No submissions found. | ||||
Solution Hints
- A naive approach would be to check all numbers from 1 to n, but that's inefficient for large n
- For every divisor d below or equal to sqrt(n), n/d is also a divisor
- Collect divisors from both sides and sort them before printing
- Handle perfect squares carefully to avoid duplicate divisors
