package com.interview.algorithms.general;
/**
* Problem: Remove all the number contains 7 from the integer, and define a method to return
* corresponding number when giving a regular number
* Key Idea:
* 1. When we need remove a particular number from a integer series, it could be consider
* to format the integer to base-9 system.
* 2. During the format, replace particular number to allowed number by mapping.
* @author stefaniezhao
*
*/
public class C1_30_NumberConvertor {
public static int convert(int i, int n, int k){
int result = 0;
int index = 1;
while(i/n != 0 || i % n != 0){
int j = i % n;
if(j >= k){
j ++;
}
result += j * index;
i = i / n;
index = index * 10;
}
return result;
}
public static void main(String[] args){
for (int i = 0; i < 100; i++){
System.out.print(i + " ");
}
System.out.println();
for (int i = 0; i < 100; i++){
System.out.print(convert(i, 9, 7) + " ");
}
System.out.println();
for (int i = 0; i < 100; i++){
System.out.print(convert(i, 9, 4) + " ");
}
}
}