Java_CH5_HW1
試設計一個程式,列印出從整數1到20,但不含兩
位數偶數的階乘。
(參閱 Example 5.16. recusion .java ,下一張投影 片課本5.10習題。)
輸入 1 : 列印不含2位數偶數的1-20階乘。
輸入 2 : 列印不含2位數奇數的1-20階乘。
輸入 3 : 列印 “ 無法判斷”。
(參閱 Example 5.16. recusion .java ,下一張投影 片課本5.10習題。)
輸入 1 : 列印不含2位數偶數的1-20階乘。
輸入 2 : 列印不含2位數奇數的1-20階乘。
輸入 3 : 列印 “ 無法判斷”。
import java.util.*; public class Java_CH5_HW1 { public static void main(String[] args) { // TODO 自動產生的方法 Stub Scanner scan = new Scanner(System.in); System.out.print("請輸入:"); int input = scan.nextInt(); Factorial f = new Factorial(); if (input == 1) for (int i = 1; i <= 20; i++) System.out.println("Factorial of " + i + " is " + f.fact(i, 0) + "."); else if (input == 2) for (int i = 1; i <= 20; i++) System.out.println("Factorial of " + i + " is " + f.fact(i, 1) + "."); else System.out.println("無法判斷"); } } class Factorial { long fact(int n, int num) { long temp = 1, result; if (n == 1) return 1; else if (n % 2 != num && n > 10) temp *= n; result = fact(n - 1, num) * n; return result / temp; } }
留言
張貼留言