๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โœจ Algorithm

[๋ฐฑ์ค€/C++] 11653๋ฒˆ : ์†Œ์ธ์ˆ˜๋ถ„ํ•ด

by nitronium102 2021. 8. 7.

๋ฌธ์ œ

์ •์ˆ˜ N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์†Œ์ธ์ˆ˜๋ถ„ํ•ดํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ์ •์ˆ˜ N (1 โ‰ค N โ‰ค 10,000,000)์ด ์ฃผ์–ด์ง„๋‹ค.

์ถœ๋ ฅ

N์˜ ์†Œ์ธ์ˆ˜๋ถ„ํ•ด ๊ฒฐ๊ณผ๋ฅผ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ถœ๋ ฅํ•œ๋‹ค. N์ด 1์ธ ๊ฒฝ์šฐ ์•„๋ฌด๊ฒƒ๋„ ์ถœ๋ ฅํ•˜์ง€ ์•Š๋Š”๋‹ค.

ํ’€์ด

์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด๋ฅผ ํ™œ์šฉํ•˜๋ฉด ๊ฐ„๋‹จํžˆ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค. ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ํ’€ ์ˆ˜๋Š” ์žˆ์ง€๋งŒ ์‹คํ–‰์‹œ๊ฐ„์ด ํฌ๊ฒŒ ์ฐจ์ด๋‚œ๋‹ค.

(์œ„) ์ฒด ์‚ฌ์šฉ / (์•„๋ž˜) ์ฒด ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ. (์ œํ•œ์‹œ๊ฐ„ 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

 

์†Œ์ˆ˜(Prime Number) ๊ตฌํ•˜๊ธฐ ํšจ์œจ์  ์•Œ๊ณ ๋ฆฌ์ฆ˜ :: ์ฝ”๋“œ์ž๋ชฝ

์†Œ์ˆ˜(Prime Number) ์†Œ์ˆ˜๋Š” ์ž์‹ ๋ณด๋‹ค ์ž‘์€ ๋‘๊ฐœ์˜ ์ž์—ฐ์ˆ˜๋ฅผ ๊ณฑํ•˜์—ฌ ๋งŒ๋“ค ์ˆ˜ ์—†๋Š” 1๋ณด๋‹ค ํฐ ์ž์—ฐ์ˆ˜์ด๋‹ค. ex) 5๋Š” 5*1 ๋˜๋Š” 1*5๋กœ ์ˆ˜๋ฅผ ๊ณฑํ•ฉ ๊ฒฐ๊ณผ๋ฅผ ์ ๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์ด ๊ทธ ์ˆ˜ ์ž์‹ ์„ ํฌํ•จํ•˜๊ธฐ ๋•Œ๋ฌธ์— 5๋Š”

myjamong.tistory.com

 

๋Œ“๊ธ€