def ones(n) n == 1 ? 1 : ones(n - 1) * 2 + (2 ** n) / 2 end (1..50).each do |n| puts "#{n}: #{ones(n)}" end
Standard input is empty
1: 1 2: 4 3: 12 4: 32 5: 80 6: 192 7: 448 8: 1024 9: 2304 10: 5120 11: 11264 12: 24576 13: 53248 14: 114688 15: 245760 16: 524288 17: 1114112 18: 2359296 19: 4980736 20: 10485760 21: 22020096 22: 46137344 23: 96468992 24: 201326592 25: 419430400 26: 872415232 27: 1811939328 28: 3758096384 29: 7784628224 30: 16106127360 31: 33285996544 32: 68719476736 33: 141733920768 34: 292057776128 35: 601295421440 36: 1236950581248 37: 2542620639232 38: 5222680231936 39: 10720238370816 40: 21990232555520 41: 45079976738816 42: 92358976733184 43: 189115999977472 44: 387028092977152 45: 791648371998720 46: 1618481116086272 47: 3307330976350208 48: 6755399441055744 49: 13792273858822144 50: 28147497671065600