๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“• STUDY/Algorithm

[C / C++] ๋ฐฑ์ค€ 10872๋ฒˆ - ํŒฉํ† ๋ฆฌ์–ผ

๋ฐฑ์ค€ 10872๋ฒˆ : https://www.acmicpc.net/problem/10872

 

10872๋ฒˆ: ํŒฉํ† ๋ฆฌ์–ผ

0๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. ์ด๋•Œ, N!์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

www.acmicpc.net

โœ… ๋ฌธ์ œ ์„ค๋ช…

์ •์ˆ˜ N์„ ์ž…๋ ฅํ•˜๋ฉด N!์„ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค.


โœ… ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ค๋ช…

1. ์ˆซ์ž N์„ ์ž…๋ ฅํ•œ๋‹ค.

2. N์ด 2๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ 1์”ฉ ๋นผ์ฃผ๋ฉฐ sum์— ๊ณฑํ•ด์ค€๋‹ค. (1์€ ๊ณฑํ•ด๋„ ๋˜‘๊ฐ™์œผ๋‹ˆ ์ƒ๋žต)

ex) N = 5, 5!์€?
sum = 5 โฉ sum = 5 X 4 โฉ sum = 5 X 4 X 3 โฉ sum = 5 X 4 X 3 X 2 โฉ sum = 120

โœ… ์ฝ”๋“œ

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;

int main(void) {
	int n;
	scanf("%d", &n);
	int sum = 1; // 0์€ ๊ณฑํ•˜๋ฉด 0์ด ๋˜๋ฏ€๋กœ ๋ฐ˜๋“œ์‹œ 1๋กœ ์ดˆ๊ธฐํ™”ํ•ด์•ผ ํ•จ
	for (int i = n; i > 1; i--)
		sum *= i;
	printf("%d\n", sum);
	return 0;
}

๐Ÿ’ฅ์ฃผ์˜๐Ÿ’ฅ

ํŒฉํ† ๋ฆฌ์–ผ์˜ ๊ฒฝ์šฐ, sum์— ๊ณ„์†ํ•ด์„œ ๊ณฑํ•ด์ค˜์•ผ ํ•˜๋Š”๋ฐ sum์„ 0์œผ๋กœ ์„ค์ •ํ•˜๋ฉด

์–ด๋–ค ์ˆ˜๋ฅผ ๊ณฑํ•˜๋”๋ผ๋„ ๊ณ„์† 0์ด ๋‚˜์˜ค๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜๋“œ์‹œ ์ฒ˜์Œ์— sum = 1๋กœ ์ดˆ๊ธฐํ™”ํ•ด์•ผํ•จ!


https://github.com/2hyunjinn/Baekjoon/blob/47edcc3ebe7db69f35f3e67072d326f9d2447b2d/Baekjoon_10872.cpp

 

GitHub - 2hyunjinn/Baekjoon

Contribute to 2hyunjinn/Baekjoon development by creating an account on GitHub.

github.com