paizaランクD相当問題 「カーディガンセット」ゲットチャレンジ!
ある正の整数 n が入力されます。
1 から n を全て掛けあわせた数を出力して下さい。
例えば以下のような入力の場合
1 × 2 × 3 × 4 を計算し以下のように出力してください。
入力される値
入力は標準入力にて以下のフォーマットで与えられます。
条件
すべてのテストケースにおいて、以下の条件をみたします。
n は正の整数
期待する出力
1 から n を全て掛けあわせた数を出力して下さい。
1. for문을 사용한 경우
package paiza;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class paiza07 {
public static void main(String[] args) throws Exception {
// 自分の得意な言語で
// Let's チャレンジ!! 「カーディガンセット」ゲットチャレンジ!
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine();
int n = Integer.parseInt(line);
int factorial = 1;
for (int i = 1; i <= n; i++) {
factorial = factorial * i;
}
System.out.println(factorial);
}
}
1부터 n까지의 계승(팩토리얼)을 계산하는 문제.
factorial의 초기값은 1로 잡고, 1부터 n까지 증가시키며 factorial을 곱해나가면 된다.
2. while문을 사용한 경우
package paiza;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class paiza07b {
public static void main(String[] args) throws Exception {
// 自分の得意な言語で
// Let's チャレンジ!! 「カーディガンセット」ゲットチャレンジ!
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine();
int n = Integer.parseInt(line);
int factorial = 1;
while (n > 1) factorial = factorial * n--;
System.out.println(factorial);
}
}
'paiza로 자바 연습' 카테고리의 다른 글
내가 가진 책들과 중고서점 책들을 비교하여 사야할 책들을 출력하는 문제 (0) | 2016.01.11 |
---|---|
R과 W를 n개씩 번갈아 반복시키는 m개의 길이를 가진 줄무늬를 출력하는 문제 (0) | 2016.01.11 |
2개제품의 성능/가격을 입력받아 가성비 좋은 쪽의 번호를 출력하는 문제 (0) | 2016.01.08 |
입력받은 숫자부터 0까지 줄어들며 출력하며 0 뒤에는 !! 붙이는 문제 (0) | 2016.01.08 |
yes나 no를 5번 입력받아 많은 쪽을 출력하는 투표 문제 (0) | 2016.01.08 |