%I
%S 0,1,1,1,1,1,1,1,1,1,1,1,2,1,1,2,3,1,2,3,1,3,2,3,4,1,5,3,5,2,3,4,6,1,
%T 10,6,4,7,3,7,2,7,5,3,4,5,6,7,10,17,1,18,11,8,7,6,5,4,7,10,3,11,8,5,7,
%U 11,19,2,13,9,7,5,13,8,14,3,13,10,7,11,4,13,9,5,16,11,6,13,7,8,9,10,11,13,15,18,22,28,39,66,1
%N The smallest number a such that there exists an integer b such that a/b is equal to n% rounded to the nearest percent.
%C a(n) is the smallest number of marks that gives you a mark of n% when rounded to the nearest percent.
%C a(n) is the smallest number a such that there exists an integer b such that a/b is equal to n% rounded to the nearest percent.
%D D. Griller, Elastic Numbers, Rational Falcon, 37.
%e A mark of 1/20 is 5%, so a(5)=1.
%e A mark of 2/17 is 12% and 1/m doesn't give 12% for any m, so a(12)=2.
%e A mark of 3/19 is 16% and 1/m and 2/m don't give 16% for any m, so a(16)=3.
%t r[n_] := If[EvenQ@ Floor[n], Round[n + 1]  1, Round[n]]; {0}~Join~Table[Module[{a = 1, b = 2, m}, While[While[100 a/b > n, b++]; !MemberQ[Set[m, Map[r, 100 a/Range@ b]], n], a++]; {a, Position[m, n][[1, 1]]}], {n, 100}][[All, 1]] (* _Michael De Vlieger_, May 09 2017 *)
%o (Python) #
%o from __future__ import division
%o from math import floor
%o least = [None] * 101
%o i = 1
%o while None in least.values():
%o ....for j in range(i+1):
%o ........p = int(floor(100*j/i+.5))
%o ........if least[p] is None:
%o ............least[p] = j
%o ....i += 1
%o print(least)
%K nonn,fini,full
%O 0,13
%A _Matthew Scroggs_, May 07 2017
