private static int divide(int beingDiv, int divNum, List<Integer> prevStates){
		if (beingDiv % divNum == 0) return 0; //non-recurring
		int nextState = (beingDiv%divNum) * 10;
		int length = 0;
		for(int i=0;i<prevStates.size();i++){
			if (nextState == prevStates.get(i)){
				length = prevStates.size()-i;
				break;
			}
		}
		if(length>0) return length;
		else {
			prevStates.add(nextState);
			return divide(nextState, divNum, prevStates);
		}
	}