login
To weigh from 1 to n, make the heaviest weight as small as possible, under the condition of using fewest pieces of different, single weights; a(n) = weight of the heaviest weight.
1

%I #38 Mar 13 2015 14:09:01

%S 1,2,2,3,3,3,4,4,4,4,5,5,6,7,8,6,6,6,7,7,8,8,9,9,10,11,12,13,14,15,16,

%T 10,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,19,20,21,22,23,

%U 24,25,26,27,28,29,30,31,32,18,18,18,19,19,20,20,21

%N To weigh from 1 to n, make the heaviest weight as small as possible, under the condition of using fewest pieces of different, single weights; a(n) = weight of the heaviest weight.

%C Starting at n = 2^x (x > 2) you get: 3 entries of 2^floor(log_2(x)-2)+2, then 2 entries of each subsequent integer until you reach the halfway point between 2^x and 2^(x+1), then 1 entry of each subsequent integer until you reach 2^(x+1)-1. Proved (see link). - _David Consiglio, Jr._, Jan 08 2015

%H David Consiglio, Jr., <a href="/A060802/b060802.txt">Table of n, a(n) for n = 1..1024</a>

%H David Consiglio, Jr., <a href="/A060802/a060802_1.py.txt">Python that quickly provides weights given the proof by Schoenfield</a>

%H David Consiglio, Jr., <a href="/A060802/a060802_3.rtf">Proof for sequence generation - Schoenfield and Consiglio</a>

%F After the 8th term:

%F If 2^x <= n <= (2^x)+2 then a(n) = 2 ^ floor(base2log(x)-2)+2 (see A052548)

%F If (2^x)+2 < n and n+1 < (2^x + 2^x+1)/2 then a(n) and a(n+1) = a(n-1)+1

%F If (2^x+2^x+1)/2 <= n then a(n) = a(n-1)+1. - _David Consiglio, Jr._, Jan 08 2015

%e a(20)=7 because every number from 1 to 20 can be obtained from {1,2,4,6,7}.

%K nonn

%O 1,2

%A _Sen-Peng Eu_, Apr 27 2001

%E a(32)-a(1024) from _David Consiglio, Jr._, Jan 08 2015