Here you can find the source of createListOfValidNumberOfPoints(int[] terms, int min, int max)
public static List<Integer> createListOfValidNumberOfPoints(int[] terms, int min, int max)
//package com.java2s; /*//from w w w . j ava2 s . c o m * Utilities.java * * Created on October 6, 2006, 9:51 AM * * Copyright (C) Roger Millington 2006-2010 * *----------------------------------------------------------------------- * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Library General Public License as published * by the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *---------------------------------------------------------------------- */ import java.util.*; public class Main { public static List<Integer> createListOfValidNumberOfPoints(int[] terms, int min, int max) { List<Integer> list = new ArrayList<Integer>(); createListOfValidNumberOfPoints(list, 0, terms, min, max); Collections.sort(list); return list; } private static void createListOfValidNumberOfPoints(List<Integer> list, int index, int[] terms, int min, int max) { if (index < terms.length) { final int factor = terms[index]; while (min < max) { createListOfValidNumberOfPoints(list, index + 1, terms, min, max); min *= factor; if (min <= max) list.add(min); else break; } } } }