โ ๋ฌธ์
1๋ณด๋ค ํฐ ์ ์(N)์ ์ ๋ ฅํ๋ฉฐ N!๊ฐ์ ๊ตฌํ์์ค.
*ํฉํ ๋ฆฌ์ผ์ด๋ N์ ์๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๋ชจ๋ ์์ ์ ์์ ๊ณฑ
ex) 3! = 1 x 2 x 3 => 6
โ ์ฝ๋
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("์
๋ ฅ : ");
int n = sc.nextInt();
// ๋ณ์ ์ด๊ธฐํ
int factorial = 1;
// n๋ถํฐ 1๊น์ง์ ๋ชจ๋ ์์ ์ ์๋ฅผ ๊ณฑํจ
for (int i = 1; i <= n; i++) {
factorial *= i;
}
// ๊ฒฐ๊ณผ ์ถ๋ ฅ
System.out.println("์ถ๋ ฅ : " + factorial);
sc.close();
}
}
โ ์ถ๋ก ๊ณผ์
int factorial = 1;: ํฉํ ๋ฆฌ์ผ ๊ฐ์ ์ ์ฅํ ๋ณ์ factorial์ ์ด๊ธฐํ์์ผ์ค๋ค.
ํฉํ ๋ฆฌ์ผ์ 1๋ถํฐ ์์ํ๋ฏ๋ก ์ด๊ธฐ๊ฐ์ 1๋ก ์ค์ ํ๋ค.
n์ ํฌ๊ธฐ๋งํผ for๋ฌธ์ ๋๋ ค์ 1๋ถํฐ ์
๋ ฅ๋ ์ ์ n๊น์ง์ ๋ชจ๋ ์์ ์ ์๋ฅผ ๊ณฑํ์ฌ ํฉํ ๋ฆฌ์ผ ๊ฐ์ ๊ณ์ฐํ๋ค.
์ด ์์ ์ factorial ๋ณ์์ ๊ณ์ํด์ ๊ฐ์ ๊ณฑํด์ ์ ๋ฐ์ดํธํด์ฃผ๋ ๊ฒ์ธ๋ฐ,
์ฝ๊ฒ ๋งํด์ 1๋ถํฐ ์ ์ n๊น์ง factorial์ ๊ณฑํด์ฃผ๋ฉด์ ๊ทธ ๊ฐ์ ๋์ ์์ผ์ฃผ๋ ๊ฒ์ด๋ค.
๊ณ์ฐ๋ ํฉํ ๋ฆฌ์ผ ๊ฐ์ ์ถ๋ ฅํ๊ณ Scanner ๊ฐ์ฒด๋ฅผ ๋ซ์์ ์์์ ํด์ ํด์ค๋ค.