Another way to prove that any length of string that is greater or equal to 8 can be generated with 3 or 5:
Proof: Clearly length 8(by taking one time 11111 and one time 111) and 9 can be generated(by taking three times 111).
Now lets prove that any length of string that is greater or equal to 10 can be generated as well.
Any length of string that is greater or equal to 10 can have 10*N+r number of 1s(where N is any integer value and r is less than equal to 9(0<= r <=9)).
Case when r=0: 10*N number of 1s can be generated by taking 11111 ---> 2N times.
Case when r=1: take 11111, 2*(N-1) times, now we are left with eleven 1s which can be generated by taking 111 two times and 11111 one time.
Example 1: 11111111111( Eleven 1s, length=11 --> 10*1+1, here r=1) can be generated by taking 11111 , 2(1-1)=0 times, 111 two times and finally 11111 one time.
11111111111----> 111 111 11111
Example 2: 111111111111111111111(21 ones)------> length=21= 10*2 +1
take 11111 2*(2-1)=2 times, then 111 two times and finally again 11111 one time
11111 11111 111 111 11111
Case when r=2: take 11111, 2*(N-1) times, now we are left with twelve 1s which can be generated by taking 111 four time.
Case when r=3: take 11111, 2*(N-1) times, now we are left with thirteen 1s which can be generated by taking 111 one time and 11111 two times.
Case when r=4: take 11111, 2*(N-1) times, now we are left with fourteen 1s which can be generated by taking 111 three times and 11111 one time.
Case when r=5: take 11111, 2*(N-1) times, now we are left with fifteen 1s which can be generated by taking 11111 three times(or 111 five times).
Case when r=6: take 11111, 2*(N-1) times, now we are left with sixteen 1s which can be generated by taking 111 two times and 11111 two times.
Case when r=7: take 11111, 2*(N-1) times, now we are left with seventeen 1s which can be generated by taking 111 four times and 11111 one time.
Case when r=8: take 11111, 2*(N-1) times, now we are left with eighteen 1s which can be generated by taking 111 six times.
Case when r=9: take 11111, 2*(N-1) times, now we are left with nineteen 1s which can be generated by taking 111 three times and 11111 two times.