#Java 8, <s>57</s> <s>56</s> <s>55</s> 50 bytes *Thanks to @Numberknot for 1 byte* *Thanks to @Kevin Cruijssen for 5 bytes* i->{for(;++i%3<1|(i+"").contains("3"););return i;} This is a `Function<Integer, Integer>` **Explanation** Naive implementation that simply increments until it reaches an acceptable number. **Test Class** public class CodeGolf { public static void main(String[] args) { Function<Integer, Integer> countingGame = i->{for(;++i%3<1|(i+"").contains("3"););return i;}; int val = 1; for (int i = 0; i < 10; i++) { System.out.print(val + " "); val = countingGame.apply(val); } } } Output of Test Class: 1 2 4 5 7 8 10 11 14 16