Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@sandiks
Created July 1, 2019 13:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sandiks/2e073591a3104d6eb977323a8ad72b1f to your computer and use it in GitHub Desktop.
Save sandiks/2e073591a3104d6eb977323a8ad72b1f to your computer and use it in GitHub Desktop.
def process_fat_accounts(pp,base)
sum = 0
for i in (0..pp.size-1) do
mm = pp[i]
if mm > base
f = (mm/base) ** 1.3
if pp[i] - f > base
pp[i] = (pp[i] - f).round(2)
sum = (sum + f).round(2)
end
end
end
sum
end
def process_poor_accounts(pp, base, benefits)
sum = 0
all_factors = pp.select{|mm| mm<base}.reduce(0) { |sum, amount| sum + (base/amount).round(1) }.round(2)
amount_to_add = benefits/all_factors
for i in (0..pp.size-1) do
mm = pp[i]
if mm < base
f = (base/mm) * amount_to_add
pp[i] = (pp[i] + f).round(1)
end
end
end
n = 10
base = 100.to_f
pp = "500 300 50 35 25 24 22 20 16 8".split(' ').map(&:to_i)
100.times do |n|
sum = process_fat_accounts(pp, base)
process_poor_accounts(pp, base, sum)
p "[ #{n}] суммы #{pp} снято с жирных счетов #{sum}"
end
"суммы [500, 300, 50, 35, 25, 24, 22, 20, 16, 8]"
"[ 0] суммы [491.9, 295.83, 50.6, 35.8, 26.2, 25.2, 23.3, 21.5, 17.9, 11.7] снято с жирных счетов 12.27"
"[ 1] суммы [483.97, 291.73, 51.3, 36.7, 27.5, 26.5, 24.7, 23.1, 19.8, 14.6] снято с жирных счетов 12.03"
"[ 2] суммы [476.2, 287.71, 52.0, 37.7, 28.8, 27.9, 26.2, 24.7, 21.6, 17.1] снято с жирных счетов 11.79"
"[ 3] суммы [468.59, 283.76, 52.7, 38.7, 30.1, 29.3, 27.7, 26.3, 23.4, 19.4] снято с жирных счетов 11.56"
"[ 4] суммы [461.14, 279.88, 53.5, 39.7, 31.4, 30.7, 29.2, 27.8, 25.1, 21.5] снято с жирных счетов 11.33"
"[ 5] суммы [453.85, 276.07, 54.3, 40.8, 32.7, 32.1, 30.6, 29.3, 26.8, 23.4] снято с жирных счетов 11.1"
"[ 6] суммы [446.71, 272.33, 55.1, 41.9, 34.0, 33.4, 32.0, 30.8, 28.4, 25.2] снято с жирных счетов 10.88"
"[ 7] суммы [439.71, 268.65, 55.9, 43.0, 35.3, 34.7, 33.4, 32.3, 30.0, 27.0] снято с жирных счетов 10.68"
"[ 8] суммы [432.85, 265.04, 56.7, 44.1, 36.6, 36.0, 34.8, 33.7, 31.5, 28.7] снято с жирных счетов 10.47"
"[ 9] суммы [426.13, 261.49, 57.5, 45.1, 37.9, 37.3, 36.1, 35.1, 33.0, 30.3] снято с жирных счетов 10.27"
"[ 10] суммы [419.55, 258.0, 58.3, 46.2, 39.2, 38.6, 37.4, 36.5, 34.4, 31.9] снято с жирных счетов 10.07"
"[ 11] суммы [413.1, 254.57, 59.1, 47.2, 40.4, 39.8, 38.7, 37.8, 35.8, 33.4] снято с жирных счетов 9.88"
"[ 12] суммы [406.78, 251.2, 59.9, 48.2, 41.6, 41.0, 40.0, 39.1, 37.2, 34.9] снято с жирных счетов 9.69"
"[ 13] суммы [400.58, 247.89, 60.7, 49.2, 42.8, 42.2, 41.2, 40.4, 38.5, 36.3] снято с жирных счетов 9.51"
"[ 14] суммы [394.51, 244.64, 61.5, 50.2, 44.0, 43.4, 42.4, 41.6, 39.8, 37.7] снято с жирных счетов 9.32"
"[ 15] суммы [388.56, 241.44, 62.3, 51.2, 45.1, 44.6, 43.6, 42.8, 41.1, 39.0] снято с жирных счетов 9.15"
"[ 16] суммы [382.72, 238.29, 63.1, 52.2, 46.2, 45.7, 44.8, 44.0, 42.3, 40.3] снято с жирных счетов 8.99"
"[ 17] суммы [377.0, 235.2, 63.9, 53.2, 47.3, 46.8, 45.9, 45.2, 43.5, 41.6] снято с жирных счетов 8.81"
"[ 18] суммы [371.39, 232.16, 64.7, 54.2, 48.4, 47.9, 47.0, 46.3, 44.7, 42.8] снято с жирных счетов 8.65"
"[ 19] суммы [365.88, 229.17, 65.5, 55.2, 49.5, 49.0, 48.1, 47.4, 45.9, 44.0] снято с жирных счетов 8.5"
"[ 20] суммы [360.48, 226.23, 66.3, 56.1, 50.6, 50.1, 49.2, 48.5, 47.0, 45.2] снято с жирных счетов 8.34"
"[ 21] суммы [355.18, 223.34, 67.1, 57.0, 51.6, 51.1, 50.3, 49.6, 48.1, 46.4] снято с жирных счетов 8.19"
"[ 22] суммы [349.99, 220.5, 67.9, 57.9, 52.6, 52.1, 51.3, 50.6, 49.2, 47.5] снято с жирных счетов 8.03"
"[ 23] суммы [344.89, 217.7, 68.7, 58.8, 53.6, 53.1, 52.3, 51.6, 50.3, 48.6] снято с жирных счетов 7.9"
"[ 24] суммы [339.89, 214.95, 69.5, 59.7, 54.6, 54.1, 53.3, 52.6, 51.3, 49.7] снято с жирных счетов 7.75"
"[ 25] суммы [334.98, 212.25, 70.3, 60.6, 55.6, 55.1, 54.3, 53.6, 52.3, 50.8] снято с жирных счетов 7.61"
"[ 26] суммы [330.17, 209.59, 71.0, 61.5, 56.5, 56.0, 55.3, 54.6, 53.3, 51.8] снято с жирных счетов 7.47"
"[ 27] суммы [325.45, 206.97, 71.7, 62.4, 57.4, 56.9, 56.2, 55.6, 54.3, 52.8] снято с жирных счетов 7.34"
"[ 28] суммы [320.81, 204.4, 72.4, 63.2, 58.3, 57.8, 57.1, 56.5, 55.3, 53.8] снято с жирных счетов 7.21"
"[ 29] суммы [316.26, 201.87, 73.1, 64.0, 59.2, 58.7, 58.0, 57.4, 56.2, 54.8] снято с жирных счетов 7.08"
"[ 30] суммы [311.79, 199.38, 73.8, 64.8, 60.1, 59.6, 58.9, 58.3, 57.1, 55.7] снято с жирных счетов 6.96"
"[ 31] суммы [307.4, 196.93, 74.5, 65.6, 61.0, 60.5, 59.8, 59.2, 58.0, 56.6] снято с жирных счетов 6.84"
"[ 32] суммы [303.09, 194.52, 75.2, 66.4, 61.8, 61.4, 60.7, 60.1, 58.9, 57.5] снято с жирных счетов 6.72"
"[ 33] суммы [298.86, 192.15, 75.9, 67.2, 62.6, 62.2, 61.6, 61.0, 59.8, 58.4] снято с жирных счетов 6.6"
"[ 34] суммы [294.71, 189.81, 76.6, 68.0, 63.4, 63.0, 62.4, 61.8, 60.7, 59.3] снято с жирных счетов 6.49"
"[ 35] суммы [290.63, 187.51, 77.3, 68.8, 64.2, 63.8, 63.2, 62.6, 61.5, 60.2] снято с жирных счетов 6.38"
"[ 36] суммы [286.63, 185.25, 77.9, 69.5, 65.0, 64.6, 64.0, 63.4, 62.3, 61.0] снято с жирных счетов 6.26"
"[ 37] суммы [282.7, 183.02, 78.6, 70.2, 65.8, 65.4, 64.8, 64.2, 63.1, 61.8] снято с жирных счетов 6.16"
"[ 38] суммы [278.84, 180.83, 79.2, 70.9, 66.6, 66.2, 65.6, 65.0, 63.9, 62.6] снято с жирных счетов 6.05"
"[ 39] суммы [275.05, 178.67, 79.8, 71.6, 67.4, 67.0, 66.4, 65.8, 64.7, 63.4] снято с жирных счетов 5.95"
"[ 40] суммы [271.32, 176.54, 80.4, 72.3, 68.1, 67.7, 67.1, 66.6, 65.5, 64.2] снято с жирных счетов 5.86"
"[ 41] суммы [267.66, 174.45, 81.0, 73.0, 68.8, 68.4, 67.8, 67.3, 66.3, 65.0] снято с жирных счетов 5.75"
"[ 42] суммы [264.06, 172.39, 81.6, 73.7, 69.5, 69.1, 68.5, 68.0, 67.0, 65.8] снято с жирных счетов 5.66"
"[ 43] суммы [260.53, 170.36, 82.2, 74.4, 70.2, 69.8, 69.2, 68.7, 67.7, 66.5] снято с жирных счетов 5.56"
"[ 44] суммы [257.06, 168.36, 82.8, 75.1, 70.9, 70.5, 69.9, 69.4, 68.4, 67.2] снято с жирных счетов 5.47"
"[ 45] суммы [253.65, 166.39, 83.4, 75.7, 71.6, 71.2, 70.6, 70.1, 69.1, 67.9] снято с жирных счетов 5.38"
"[ 46] суммы [250.3, 164.45, 84.0, 76.3, 72.3, 71.9, 71.3, 70.8, 69.8, 68.6] снято с жирных счетов 5.29"
"[ 47] суммы [247.0, 162.54, 84.6, 76.9, 73.0, 72.6, 72.0, 71.5, 70.5, 69.3] снято с жирных счетов 5.21"
"[ 48] суммы [243.76, 160.66, 85.2, 77.5, 73.6, 73.2, 72.7, 72.2, 71.2, 70.0] снято с жирных счетов 5.12"
"[ 49] суммы [240.58, 158.81, 85.7, 78.1, 74.2, 73.8, 73.3, 72.8, 71.8, 70.7] снято с жирных счетов 5.03"
"[ 50] суммы [237.45, 156.99, 86.2, 78.7, 74.8, 74.4, 73.9, 73.4, 72.4, 71.3] снято с жирных счетов 4.95"
"[ 51] суммы [234.37, 155.19, 86.7, 79.3, 75.4, 75.0, 74.5, 74.0, 73.0, 71.9] снято с жирных счетов 4.88"
"[ 52] суммы [231.34, 153.42, 87.2, 79.9, 76.0, 75.6, 75.1, 74.6, 73.6, 72.5] снято с жирных счетов 4.8"
"[ 53] суммы [228.36, 151.68, 87.7, 80.5, 76.6, 76.2, 75.7, 75.2, 74.2, 73.1] снято с жирных счетов 4.72"
"[ 54] суммы [225.43, 149.96, 88.2, 81.1, 77.2, 76.8, 76.3, 75.8, 74.8, 73.7] снято с жирных счетов 4.65"
"[ 55] суммы [222.55, 148.27, 88.7, 81.7, 77.8, 77.4, 76.9, 76.4, 75.4, 74.3] снято с жирных счетов 4.57"
"[ 56] суммы [219.72, 146.6, 89.2, 82.2, 78.4, 78.0, 77.5, 77.0, 76.0, 74.9] снято с жирных счетов 4.5"
"[ 57] суммы [216.94, 144.96, 89.7, 82.7, 79.0, 78.6, 78.1, 77.6, 76.6, 75.5] снято с жирных счетов 4.42"
"[ 58] суммы [214.2, 143.34, 90.2, 83.2, 79.5, 79.1, 78.7, 78.2, 77.2, 76.1] снято с жирных счетов 4.36"
"[ 59] суммы [211.51, 141.74, 90.7, 83.7, 80.0, 79.6, 79.2, 78.7, 77.8, 76.7] снято с жирных счетов 4.29"
"[ 60] суммы [208.86, 140.17, 91.2, 84.2, 80.5, 80.1, 79.7, 79.2, 78.3, 77.2] снято с жирных счетов 4.22"
"[ 61] суммы [206.25, 138.62, 91.7, 84.7, 81.0, 80.6, 80.2, 79.7, 78.8, 77.7] снято с жирных счетов 4.16"
"[ 62] суммы [203.69, 137.09, 92.2, 85.2, 81.5, 81.1, 80.7, 80.2, 79.3, 78.2] снято с жирных счетов 4.09"
"[ 63] суммы [201.17, 135.58, 92.7, 85.7, 82.0, 81.6, 81.2, 80.7, 79.8, 78.7] снято с жирных счетов 4.03"
"[ 64] суммы [198.69, 134.09, 93.1, 86.2, 82.5, 82.1, 81.7, 81.2, 80.3, 79.2] снято с жирных счетов 3.97"
"[ 65] суммы [196.25, 132.63, 93.5, 86.7, 83.0, 82.6, 82.2, 81.7, 80.8, 79.7] снято с жирных счетов 3.9"
"[ 66] суммы [193.85, 131.19, 93.9, 87.2, 83.5, 83.1, 82.7, 82.2, 81.3, 80.2] снято с жирных счетов 3.84"
"[ 67] суммы [191.49, 129.77, 94.3, 87.7, 84.0, 83.6, 83.2, 82.7, 81.8, 80.7] снято с жирных счетов 3.78"
"[ 68] суммы [189.16, 128.37, 94.7, 88.2, 84.5, 84.1, 83.7, 83.2, 82.3, 81.2] снято с жирных счетов 3.73"
"[ 69] суммы [186.87, 126.99, 95.1, 88.6, 85.0, 84.6, 84.2, 83.7, 82.8, 81.7] снято с жирных счетов 3.67"
"[ 70] суммы [184.62, 125.63, 95.5, 89.0, 85.5, 85.1, 84.7, 84.2, 83.3, 82.2] снято с жирных счетов 3.61"
"[ 71] суммы [182.4, 124.28, 95.9, 89.4, 85.9, 85.6, 85.2, 84.7, 83.8, 82.7] снято с жирных счетов 3.57"
"[ 72] суммы [180.22, 122.95, 96.3, 89.8, 86.3, 86.0, 85.6, 85.1, 84.3, 83.2] снято с жирных счетов 3.51"
"[ 73] суммы [178.07, 121.64, 96.7, 90.2, 86.7, 86.4, 86.0, 85.5, 84.7, 83.6] снято с жирных счетов 3.46"
"[ 74] суммы [175.95, 120.35, 97.1, 90.6, 87.1, 86.8, 86.4, 85.9, 85.1, 84.0] снято с жирных счетов 3.41"
"[ 75] суммы [173.87, 119.08, 97.5, 91.0, 87.5, 87.2, 86.8, 86.3, 85.5, 84.4] снято с жирных счетов 3.35"
"[ 76] суммы [171.82, 117.83, 97.9, 91.4, 87.9, 87.6, 87.2, 86.7, 85.9, 84.8] снято с жирных счетов 3.3"
"[ 77] суммы [169.8, 116.59, 98.3, 91.8, 88.3, 88.0, 87.6, 87.1, 86.3, 85.2] снято с жирных счетов 3.26"
"[ 78] суммы [167.81, 115.37, 98.7, 92.2, 88.7, 88.4, 88.0, 87.5, 86.7, 85.6] снято с жирных счетов 3.21"
"[ 79] суммы [165.85, 114.17, 99.1, 92.6, 89.1, 88.8, 88.4, 87.9, 87.1, 86.0] снято с жирных счетов 3.16"
"[ 80] суммы [163.92, 112.98, 99.5, 93.0, 89.5, 89.2, 88.8, 88.3, 87.5, 86.4] снято с жирных счетов 3.12"
"[ 81] суммы [162.02, 111.81, 99.9, 93.4, 89.9, 89.6, 89.2, 88.7, 87.9, 86.8] снято с жирных счетов 3.07"
"[ 82] суммы [160.15, 110.65, 100.2, 93.8, 90.3, 90.0, 89.6, 89.1, 88.3, 87.2] снято с жирных счетов 3.03"
"[ 83] суммы [158.31, 109.51, 100.2, 94.2, 90.7, 90.4, 90.0, 89.5, 88.7, 87.6] снято с жирных счетов 2.98"
"[ 84] суммы [156.49, 108.38, 100.2, 94.6, 91.1, 90.8, 90.4, 89.9, 89.1, 88.0] снято с жирных счетов 2.95"
"[ 85] суммы [154.7, 107.27, 100.2, 95.0, 91.5, 91.2, 90.8, 90.3, 89.5, 88.4] снято с жирных счетов 2.9"
"[ 86] суммы [152.94, 106.17, 100.2, 95.4, 91.9, 91.6, 91.2, 90.7, 89.9, 88.8] снято с жирных счетов 2.86"
"[ 87] суммы [151.2, 105.09, 100.2, 95.8, 92.3, 92.0, 91.6, 91.1, 90.3, 89.2] снято с жирных счетов 2.82"
"[ 88] суммы [149.49, 104.02, 100.2, 96.2, 92.7, 92.4, 92.0, 91.5, 90.7, 89.6] снято с жирных счетов 2.78"
"[ 89] суммы [147.8, 102.97, 100.2, 96.6, 93.1, 92.8, 92.4, 91.9, 91.1, 90.0] снято с жирных счетов 2.74"
"[ 90] суммы [146.14, 101.93, 100.2, 97.0, 93.5, 93.2, 92.8, 92.3, 91.5, 90.4] снято с жирных счетов 2.7"
"[ 91] суммы [144.5, 100.9, 100.2, 97.4, 93.9, 93.6, 93.2, 92.7, 91.9, 90.8] снято с жирных счетов 2.67"
"[ 92] суммы [142.89, 100.9, 100.2, 97.6, 94.1, 93.8, 93.4, 92.9, 92.1, 91.0] снято с жирных счетов 1.61"
"[ 93] суммы [141.3, 100.9, 100.2, 97.8, 94.3, 94.0, 93.6, 93.1, 92.3, 91.2] снято с жирных счетов 1.59"
"[ 94] суммы [139.73, 100.9, 100.2, 98.0, 94.5, 94.2, 93.8, 93.3, 92.5, 91.4] снято с жирных счетов 1.57"
"[ 95] суммы [138.19, 100.9, 100.2, 98.2, 94.7, 94.4, 94.0, 93.5, 92.7, 91.6] снято с жирных счетов 1.54"
"[ 96] суммы [136.67, 100.9, 100.2, 98.4, 94.9, 94.6, 94.2, 93.7, 92.9, 91.8] снято с жирных счетов 1.52"
"[ 97] суммы [135.17, 100.9, 100.2, 98.6, 95.1, 94.8, 94.4, 93.9, 93.1, 92.0] снято с жирных счетов 1.5"
"[ 98] суммы [133.69, 100.9, 100.2, 98.8, 95.3, 95.0, 94.6, 94.1, 93.3, 92.2] снято с жирных счетов 1.48"
"[ 99] суммы [132.23, 100.9, 100.2, 99.0, 95.5, 95.2, 94.8, 94.3, 93.5, 92.4] снято с жирных счетов 1.46"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment