package com.interview.books.ccinterview; /** * Created_By: stefanie * Date: 14-12-13 * Time: 下午8:07 */ public class CC21_CentCombineWays { //ways[n]: the ways to combine n cents by 25, 10, 5, 1 cents. //initialize: ways[0] = 1; //function: ways[i] = ways[i - 1] + ways[i - 5] + ways[i - 10] + ways[i - 25] in range //result: ways[n] public int combineWays(int n){ if(n <= 0) return 0; int[] ways = new int[n + 1]; ways[0] = 1; for(int i = 1; i <= n; i++){ ways[i] = ways[i-1]; if(i % 5 == 0) ways[i] += ways[i - 5]; if(i % 10 == 0) ways[i] += ways[i - 10]; if(i % 25 == 0) ways[i] += ways[i - 25]; } return ways[n]; } public static void main(String[] args){ CC21_CentCombineWays combiner = new CC21_CentCombineWays(); System.out.println(combiner.combineWays(10)); System.out.println(combiner.combineWays(25)); System.out.println(combiner.combineWays(100)); } }