Bibi's DevLog ๐Ÿค“๐ŸŽ

[์ธํ”„๋Ÿฐ] Javascript์ž…๋ฌธ - ์—ฐ์Šต๋ฌธ์ œ2(์†Œ์ˆ˜ ํŒ๋ณ„ ํ”„๋กœ๊ทธ๋žจ) ๋ณธ๋ฌธ

ํ”„๋กœ๊ทธ๋ž˜๋ฐ/Javascript ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ

[์ธํ”„๋Ÿฐ] Javascript์ž…๋ฌธ - ์—ฐ์Šต๋ฌธ์ œ2(์†Œ์ˆ˜ ํŒ๋ณ„ ํ”„๋กœ๊ทธ๋žจ)

๋น„๋น„ bibi 2020. 10. 7. 13:39
* ์ด ๊ธ€์€ ์ธํ”„๋Ÿฐ์—์„œ ์ œ๊ณตํ•˜๋Š” ํ˜ธ๋ˆ…์Šค๋‹˜์˜ ์œ ๋ฃŒ ๊ฐ•์˜ '์‰ฝ๊ณ  ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋ฐฐ์›Œ๋ณด๋Š” Javascript ์ž…๋ฌธ - ์ฝ”๋“œ์Šค์ฟผ๋“œ ๋งˆ์Šคํ„ฐ์ฆˆ ์ฝ”์Šค ๋ ˆ๋ฒจ1'๋ฅผ ๋“ฃ๊ณ  ๊ณต๋ถ€ํ•˜๋ฉฐ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๊ฐ•์˜ ๋‚ด์šฉ์— ๋”ํ•ด, ์ œ๊ฐ€ ํ•„๊ธฐํ•˜๊ณ  ๊ตฌ๊ธ€๋งํ•œ ๋‚ด์šฉ์ด ์ •๋ฆฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ดˆ๋ณด์ธ ์ œ๊ฐ€ ์ดํ•ดํ•œ ๋Œ€๋กœ ์ •๋ฆฌํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋ถ€์ •ํ™•ํ•œ ๋‚ด์šฉ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Œ์„ ๊ฐ์•ˆํ•ด ์ฃผ์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ธํ”„๋Ÿฐ ์ธก ๋‹ต๋ณ€์„ ๋ฐ›์€ ์ ์ด ์žˆ์œผ๋‚˜(https://bibi6666667.tistory.com/37), ์ €์ž‘๊ถŒ์ƒ ๋ฌธ์ œ๊ฐ€ ๋œ๋‹ค๋ฉด ๋ณดํ˜ธ ๋ชจ๋“œ(๋น„๊ณต๊ฐœ)๋กœ ์ „ํ™˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์†Œ์ˆ˜ ํŒ๋ณ„ ํ”„๋กœ๊ทธ๋žจ

์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ˆซ์ž๊ฐ€ ์†Œ์ˆ˜์ธ์ง€ ์•„๋‹Œ์ง€ ์•Œ๋ ค์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด ๋ด…์‹œ๋‹ค.

์†Œ์ˆ˜(prime number) = 1๊ณผ ์ž๊ธฐ ์ž์‹ ์œผ๋กœ๋งŒ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š” ์ˆ˜.
1,2,3,5,7,11 ...

์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ˜๋ณต๋ฌธ ์‚ฌ์šฉํ•ด์„œ ๋งŒ๋“ค๊ธฐ.

๋‚˜์˜ ํ’€์ด : ์ž˜ ๋™์ž‘ํ•˜๋Š” ๋“ฏ?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h2>์—ฐ์Šต๋ฌธ์ œ2 - ์†Œ์ˆ˜ ํŒ๋ณ„ ํ”„๋กœ๊ทธ๋žจ</h2>
<script>
    var num = Number(prompt('์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”'));
    var prime_num = 0
    //num์„ ๋ฐ›์•„ 1,2,3,4,.. ~ num๊นŒ์ง€ ๋‚˜๋ˆ  ๋ณธ๋‹ค.(๋ฐ˜๋ณต)
    for (var i = 1; i <= num; i++) {
        rem = num % i;
        console.log(rem);
        if (rem === 0) {
            prime_num += 1;
        }
    }
    // ๋งŒ์•ฝ 1,num์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 0์ด๋ฉด ์†Œ์ˆ˜์ด๋‹ค.
    // ๋งŒ์•ฝ 1,num,๋‹ค๋ฅธ ์ˆ˜๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 0์ด๋ฉด ์†Œ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋‹ค.
    if (prime_num <= 2) {
        console.log(num+'์€ ์†Œ์ˆ˜์ž…๋‹ˆ๋‹ค.')
    } else if (prime_num > 2){
        console.log(num+'์€ ์†Œ์ˆ˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.')
    }

</script>
</body>
</html>

 

 

์—ฐ์Šต๋ฌธ์ œ ํ’€์ด

-> ์˜ค๋‹ต๋…ธํŠธ 

  • ์†Œ์ˆ˜์— ๋Œ€ํ•œ ๊ฐœ๋…์ด ์—†์–ด์„œ ๋ฐ˜๋ณต๋ฌธ์—์„œ 1๋ถ€ํ„ฐ ๋‚˜๋ˆ ๋ฒ„๋ ธ๋‹ค & 2์ด์ƒ์„ ์ž…๋ ฅ๋ฐ›์•„์•ผ ํ•˜๋Š”๋ฐ ๋ชจ๋“  ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์Œ.

 

<!DOCTYPE html>
<html lang='ko'>
<head>
	<meta charset='UTF-8'>
    <title></title>
</head>
<body>
	<h1>์†Œ์ˆ˜ ํŒ๋ณ„ ํ”„๋กœ๊ทธ๋žจ</h1>
    <script>
    	var isPrime = true; // n์ด ์†Œ์ˆ˜์ผ๊ฑฐ๋ผ๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ์‹œ์ž‘
    	var n = Number(prompt("2 ์ด์ƒ์˜ ์ •์ˆ˜๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”."));
        for (var i = 2; i < n ; i++) {
        	if (n % 1 === 0) {
            	isPrime = false;
                console.log(isPrime, i);
                // break;
        	}
        }
        if (isprime) {
        	document.write(n + '์€ ์†Œ์ˆ˜์ž…๋‹ˆ๋‹ค.');
        } else {
        	document.write(n + '์€ ์†Œ์ˆ˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.');
        }
    </script>

 

break

: ๋ฐ˜๋ณต๋ฌธ(while, for)์„ ์ฆ‰์‹œ ์ข…๋ฃŒํ•˜๋Š” ๋ช…๋ น์–ด.
๋” ์ด์ƒ loop๋ฅผ ๋Œ ํ•„์š”๊ฐ€ ์—†์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

(์˜ˆ๋ฅผ ๋“ค์–ด)์œ„์˜ ์ฝ”๋“œ์ฒ˜๋Ÿผ ์งœ ๋†“๊ณ  break๋ฅผ ๊ฑธ์ง€ ์•Š์œผ๋ฉด..

 25๊ฐ€ ์†Œ์ˆ˜๊ฐ€ ์•„๋‹Œ ๊ฒƒ์„ 5๋กœ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ ์ด๋ฏธ ์•Œ๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ๋„ /6, /7, /8... ๊ณ„์† ๋‚˜๋ˆ„๊ณ  ์žˆ๋‹ค.
๋”ฐ๋ผ์„œ 5๋กœ ๋‚˜๋ˆ„์–ด ์†Œ์ˆ˜๊ฐ€ ์•„๋‹˜์„ ์•Œ์•˜์„ ๋•Œ ๋ฐ˜๋ณต๋ฌธ์„ ์ฆ‰์‹œ ๊ทธ๋งŒ๋‘๊ฒŒ ํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์„ ๋” ํšจ์œจ์ ์œผ๋กœ ๋™์ž‘ํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‹ต์„ ์ฐพ๋Š” ๋ฐ๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์ง€๋งŒ ํ”„๋กœ๊ทธ๋žจ์˜ ํšจ์œจ์„ ๋†’์ด๋Š” ๋ฐฉ๋ฒ•.

continue

(์‚ฌ์šฉ๋ฒ• ๊ตฌ๊ธ€๋งํ•ด์„œ ์ •๋ฆฌํ•˜๊ธฐ)