Sha256: bb670d92f723847ed68afdbdd142eb05ebeb0959c5b307fcf8323834726e0838
Contents?: true
Size: 1.98 KB
Versions: 5
Compression:
Stored size: 1.98 KB
Contents
# coding: utf-8 describe Integer, "#near_square?" do @seq = { # A028875 -5 => [4,11,20,31,44,59,76,95,116,139,164,191,220,251, 284,319,356,395,436,479,524,571,620,671,724,779, 836,895,956,1019,1084,1151,1220,1291,1364,1439, 1516,1595,1676,1759,1844,1931,2020,2111,2204,2299, 2396], # A028347 -4 => [0,5,12,21,32,45,60,77,96,117,140,165,192,221,252, 285,320,357,396,437,480,525,572,621,672,725,780, 837,896,957,1020,1085,1152,1221,1292,1365,1440, 1517,1596,1677,1760,1845], # A028872 -3 => [1,6,13,22,33,46,61,78,97,118,141,166,193,222,253, 286,321,358,397,438,481,526,573,622,673,726,781, 838,897,958,1021,1086,1153,1222,1293,1366,1441, 1518,1597,1678,1761,1846,1933,2022,2113,2206, 2301], # A117950 3 => [3,4,7,12,19,28,39,52,67,84,103,124,147,172,199, 228,259,292,327,364,403,444,487,532,579,628,679, 732,787,844,903,964,1027,1092,1159,1228,1299,1372, 1447,1524,1603,1684,1767,1852,1939,2028,2119,2212, 2307,2404,2503], # A087475 4 => [4,5,8,13,20,29,40,53,68,85,104,125,148,173,200, 229,260,293,328,365,404,445,488,533,580,629,680, 733,788,845,904,965,1028,1093,1160,1229,1300,1373, 1448,1525,1604,1685,1768,1853,1940,2029,2120,2213, 2308,2405,2504], # A117951 5 => [5,6,9,14,21,30,41,54,69,86,105,126,149,174,201, 230,261,294,329,366,405,446,489,534,581,630,681, 734,789,846,905,966,1029,1094,1161,1230,1301,1374, 1449,1526,1605,1686,1769,1854,1941,2030,2121,2214, 2309,2406,2505] } @seq.each do |k, values| values.each do |n| it "returns true for #{n}^2 #{'+' if k > 0}#{k}" do n.should be_near_square(k) end end values.to_seq.invert.sample(100).each do |n| it "returns false for #{n}^2 #{'+' if k > 0}#{k}" do n.should_not be_near_square(k) end end end end
Version data entries
5 entries across 5 versions & 1 rubygems