1929๋ฒˆ ์†Œ์ˆ˜ ๊ตฌํ•˜๊ธฐ (silver 3)

M์ด์ƒ N์ดํ•˜์˜ ์†Œ์ˆ˜๋ฅผ ๋ชจ๋‘ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ์ž์—ฐ์ˆ˜ M๊ณผ N์ด ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค.

(1 ≤ M ≤ N ≤ 1,000,000) M์ด์ƒ N์ดํ•˜์˜ ์†Œ์ˆ˜๊ฐ€ ํ•˜๋‚˜ ์ด์ƒ ์žˆ๋Š” ์ž…๋ ฅ๋งŒ ์ฃผ์–ด์ง„๋‹ค.

 

์ถœ๋ ฅ

ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ, ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ๋Œ€๋กœ ์†Œ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

์˜ˆ์ œ ์ž…๋ ฅ 1

3 16

 

 

 

์˜ˆ์ œ ์ถœ๋ ฅ 1

3
5
7
11
13

 

 

#include <stdio.h>

int main() { // ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด ์‚ฌ์šฉ
    int start, end;
    int arr[1000000] = {0};
    
    scanf("%d %d", &start, &end);
    for (int i = 0; i < 1000001; i++){
        arr[i] = 1;   // ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค์˜ ์›์†Œ๋ฅผ ๋‹ค 1๋กœ ์ฑ„์›€
    }
    for (int i = 2; i <= end; i++){
        for (int j = i * 2; j <= end; j += i){
            arr[j] = 0;   // ์†Œ์ˆ˜์— ํ•ด๋‹นํ•˜์ง€ ์•Š๋Š” ์ธ๋ฑ์Šค์˜ ์›์†Œ๋“ค์€ ๋‹ค 0์œผ๋กœ ์ฑ„์›€
        }
    }
    for (int i = start; i <= end; i++){
        if (arr[i] == 1)
            printf("%d\n", i); // ๋ฐฐ์—ด์˜ ์›์†Œ๊ฐ€ 1์ธ ์ธ๋ฑ์Šค๋Š” ๊ณง ์†Œ์ˆ˜์— ํ•ด๋‹น - ์ถœ๋ ฅ
    }
    return 0;

}

 

 

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

  • ์šฐ์„  m์ด์ƒ n์ดํ•˜์—์„œ m์— ํ•ด๋‹นํ•˜๋Š” ์ˆ˜๋ฅผ start, n์— ํ•ด๋‹นํ•˜๋Š” ์ˆ˜๋ฅผ end๋กœ ์„ ์–ธํ•ด์ฃผ์—ˆ๋‹ค.
  • start์™€ end๋Š” 1์ด์ƒ 1000000์ด๊ธฐ ๋•Œ๋ฌธ์— ํฌ๊ธฐ๊ฐ€ 1000000์ธ ๋ฐฐ์—ด arr์„ ์„ ์–ธํ•ด์ฃผ๊ณ  0์œผ๋กœ ์ดˆ๊ธฐํ™”๋ฅผ ํ•ด์ฃผ์—ˆ๋‹ค.
  • ๊ทธ ๋‹ค์Œ 2๋ฒˆ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ(์†Œ์ˆ˜๋Š” 2์ด์ƒ์ด๊ธฐ ๋•Œ๋ฌธ) ๋ฐฐ์—ด์˜ ๋์ธ 1000000์ธ๋ฑ์Šค๊นŒ์ง€ ๋ฐฐ์—ด์˜ ์›์†Œ๋ฅผ ๋‹ค 1๋กœ ์ฑ„์›Œ์ฃผ์—ˆ๋‹ค.
  • ์ด์ค‘ for๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ 2์™€ end์‚ฌ์ด์˜ ์ธ๋ฑ์Šค์—์„œ ์ด๋“ค์„ ์„œ๋กœ ๊ณฑํ•ด์ฃผ๋ฉด์„œ ๋‚˜์˜ค๋Š” ์ธ๋ฑ์Šค๋Š” ์†Œ์ˆ˜๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์›์†Œ ๊ฐ’์„ 0์œผ๋กœ ์ฑ„์›Œ์ฃผ์—ˆ๋‹ค.
  • ๋งˆ์ง€๋ง‰์œผ๋กœ start๋ถ€ํ„ฐ end๊นŒ์ง€์— ํ•ด๋‹นํ•˜๋Š” ๋ฒ”์œ„์—์„œ arr๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค์— ํ•ด๋‹นํ•˜๋Š” ์›์†Œ๊ฐ€ 1์ธ ๊ฒฝ์šฐ, ์ฆ‰ ์†Œ์ˆ˜์ธ ๊ฒฝ์šฐ printf๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ์ธ๋ฑ์Šค๋ฅผ ์ถœ๋ ฅํ•ด์ฃผ์—ˆ๋‹ค.

 

'๋ฐฑ์ค€ > C' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[C] ๋ฐฑ์ค€ 10828๋ฒˆ  (0) 2022.11.11
[C] ๋ฐฑ์ค€ 1065๋ฒˆ  (0) 2022.11.11
[C] ๋ฐฑ์ค€ 2164๋ฒˆ  (0) 2022.05.24
[C] ๋ฐฑ์ค€_ 7568๋ฒˆ  (0) 2022.05.16
[C] ๋ฐฑ์ค€_1676๋ฒˆ  (0) 2022.05.08
๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค!