λ¬Έμ
μ μ Nμ΄ μ£Όμ΄μ‘μ λ, μμΈμλΆν΄νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
첫째 μ€μ μ μ N (1 ≤ N ≤ 10,000,000)μ΄ μ£Όμ΄μ§λ€.
μΆλ ₯
Nμ μμΈμλΆν΄ κ²°κ³Όλ₯Ό ν μ€μ νλμ© μ€λ¦μ°¨μμΌλ‘ μΆλ ₯νλ€. Nμ΄ 1μΈ κ²½μ° μ무κ²λ μΆλ ₯νμ§ μλλ€.
νμ΄
μλΌν μ€ν λ€μ€μ 체λ₯Ό νμ©νλ©΄ κ°λ¨ν ν μ μλ λ¬Έμ μ΄λ€. μ¬μ©νμ§ μμλ ν μλ μμ§λ§ μ€νμκ°μ΄ ν¬κ² μ°¨μ΄λλ€.
μμ νλ³ μκ³ λ¦¬μ¦
01) κ°μ₯ μμ΄μ μΈ λ°©λ²
: 2λΆν° νλ³νλ μ μ κΉμ§ λλ λ³΄κ³ λλ¨Έμ§κ° 0μ΄ μλλ©΄ μμλ‘ μ μνλ λ°©λ². μΆμ²νμ§ μλλ€
02) λ°μ λ λ°©λ²
: 2λΆν° ν΄λΉ μ«μμ root(N)κΉμ§ νμΈνλ λ°©λ²μ΄λ€. μ리λ μ½μμ μ€μ¬μ ꡬνλ κ³Όμ μ΄λ€
- i <= sqrt(N)
- i*i <= N μ΄ λ λ°©μμΌλ‘ νννλ€
03) μλΌν μ€ν λ€μ€μ 체
μμλ₯Ό νλ³ν λ²μλ§νΌ λ°°μ΄μ ν λΉνμ¬, ν΄λΉνλ κ°μ λ£μ΄μ£Όκ³ μ΄νμ νλμ© μ§μλκ°λ λ°©λ²
01. λ°°μ΄μ μμ±νμ¬ μ΄κΈ°ννλ€.
02. 2λΆν° μμν΄μ νΉμ μμ λ°°μμ ν΄λΉνλ μλ₯Ό λͺ¨λ μ§μ΄λ€.(μ§μΈ λ μκΈ°μμ μ μ§μ°μ§ μκ³ , μ΄λ―Έ μ§μμ§ μλ 건λλ΄λ€.)
03. 2λΆν° μμνμ¬ λ¨μμλ μλ₯Ό λͺ¨λ μΆλ ₯νλ€.
μ΄ λ¬Έμ μμλ 2λ²μ§Έ νμ΄λ₯Ό μ¬μ©νμλ€.
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int N;
cin >> N;
if (N != 1){
// i*i <= Nμ μ¬μ©ν΄λ 무방
for (int i=2; i<=sqrt(N); i++){
while (N%i==0){
cout << i << endl;
N = N/i;
}
}
}
if (N > 1)
cout << N << endl;
}
https://myjamong.tistory.com/139
'β¨ Algorithm' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€/C++] 4948λ² : λ² λ₯΄νΈλ κ³΅μ€ (0) | 2021.08.08 |
---|---|
[λ°±μ€/C++] 1929λ² : μμ ꡬνκΈ°(μκ° μ΄κ³Ό, μλΌν μ€ν λ€μ€μ 체) (0) | 2021.08.07 |
[λ°±μ€/C++] 2581λ² : μμ (0) | 2021.08.06 |
[λ°±μ€/C++] 1978λ² : μμ μ°ΎκΈ° (0) | 2021.08.05 |
[λ°±μ€/C++] 1011λ² : Fly me to the Alpha Centauri (0) | 2021.08.05 |
λκΈ