Created
June 4, 2024 23:38
-
-
Save olooney/493c848091f2e2020d366b8defacb991 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" | |
There are a surprising number of integers where the square root can be written | |
as the sum of the digits of the original minus 2. Even more if you're willing | |
to group digits together in order to make the sum work. This program finds all | |
299 such examples for n < 10e9. Ultimately this works because the square root | |
of a number tends to have roughly half as many digits as the original number, | |
so if you break a number in half, you'll already be in the ballpark of the | |
square root. For example, `sqrt(442,225) = 665 = (442 + 225) - 2`. The minus | |
two is arbitary - this works for other offsets as well - but offset 2 gets | |
you six matches for n <= 289 so it looks impressive right out of the gate. | |
""" | |
import math | |
import sys | |
from typing import Union, List, Tuple, Iterator | |
class DigitSumSearch: | |
""" | |
Scans for instances where `sqrt(n) = sum(digits of n) - 2` such as: | |
`sqrt(25) = 5 = (2 + 5) - 2`. | |
It can also group digits as needed to make the sum work, such as: | |
`sqrt(121) = 11 = (12 + 1) - 2`. | |
""" | |
def __init__( | |
self, | |
offset: int = 2, | |
max_digit_group_length: int = 5, | |
max_digit_cache_length: int = 5 | |
): | |
self.offset = int(offset) | |
self.max_digit_group_length = int(max_digit_group_length) | |
self.max_digit_cache_length = int(max_digit_cache_length) | |
self.digit_cache = {} | |
def check_sum_of_digits(self, digits: Union[int, str], target: int) -> List[int]: | |
""" | |
Uses dynamic programing to find groups of digits which sum to a target value. | |
""" | |
digits = str(digits) | |
def recursive(digits, target): | |
# successful base case: used all digits and found exact match | |
if len(digits) == 0 and target == 0: | |
return [] | |
# digit sum is already too big so we can stop searching. | |
if target < 0: | |
return None | |
# check the cache | |
if (digits, target) in self.digit_cache: | |
return self.digit_cache[(digits, target)] | |
# search for possible digit groupings that might work. | |
for length in range(1, self.max_digit_group_length + 1): | |
if len(digits) >= length: | |
n = int(digits[:length]) | |
result = recursive(digits[length:], target - n) | |
if result is not None: | |
answer = [n] + result | |
if len(answer) <= self.max_digit_cache_length: | |
self.digit_cache[(digits, target)] = answer | |
return answer | |
# No solution possible | |
if len(digits) <= self.max_digit_cache_length: | |
self.digit_cache[(digits, target)] = None | |
return None | |
return recursive(digits, target) | |
def check_pattern(self, n): | |
""" | |
Check if the square root of n is equal to the sum of its digits minus the offset. | |
""" | |
root = math.isqrt(n) | |
if root * root != n: | |
return None | |
return self.check_sum_of_digits(str(n), root + self.offset) | |
def search(self, a: int, b: int = None) -> Iterator[Tuple[int, List[int]]]: | |
""" | |
Searches from a to b (inclusive) for matching patterns | |
and returns them as pairs such as `(121, [12, 1])`. | |
""" | |
# if only a single argument is provided, scan up to that number. | |
if b is None: | |
a, b = 1, a | |
# search the given range | |
i = int(math.ceil(math.sqrt(a))) | |
while (n := i ** 2) <= b: | |
grouped_digits = self.check_pattern(n) | |
if grouped_digits: | |
yield n, grouped_digits | |
i += 1 | |
def print_search(self, a: int, b: int = None): | |
""" | |
Calls search(a, b) and prints each match with human readable formatting. | |
""" | |
count = 0 | |
for n, digit_groups in self.search(a, b): | |
root = math.isqrt(n) | |
digit_group_sum = " + ".join(f"{digit_group:,}" for digit_group in digit_groups) | |
print(f"sqrt({n:,}) = {root:,} = ({digit_group_sum}) - {self.offset}") | |
count += 1 | |
print(f"\nNumber of matches found: {count}") | |
if __name__ == '__main__': | |
DigitSumSearch().print_search(10_000_000_000) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sqrt(4) = 2 = (4) - 2 | |
sqrt(25) = 5 = (2 + 5) - 2 | |
sqrt(64) = 8 = (6 + 4) - 2 | |
sqrt(121) = 11 = (12 + 1) - 2 | |
sqrt(196) = 14 = (1 + 9 + 6) - 2 | |
sqrt(289) = 17 = (2 + 8 + 9) - 2 | |
sqrt(1,024) = 32 = (10 + 24) - 2 | |
sqrt(1,225) = 35 = (12 + 25) - 2 | |
sqrt(1,936) = 44 = (1 + 9 + 36) - 2 | |
sqrt(2,500) = 50 = (2 + 50 + 0) - 2 | |
sqrt(4,225) = 65 = (42 + 25) - 2 | |
sqrt(4,624) = 68 = (4 + 62 + 4) - 2 | |
sqrt(6,889) = 83 = (68 + 8 + 9) - 2 | |
sqrt(7,396) = 86 = (73 + 9 + 6) - 2 | |
sqrt(8,464) = 92 = (84 + 6 + 4) - 2 | |
sqrt(9,025) = 95 = (90 + 2 + 5) - 2 | |
sqrt(9,604) = 98 = (96 + 0 + 4) - 2 | |
sqrt(10,201) = 101 = (102 + 0 + 1) - 2 | |
sqrt(12,100) = 110 = (12 + 100) - 2 | |
sqrt(17,161) = 131 = (1 + 71 + 61) - 2 | |
sqrt(17,956) = 134 = (1 + 79 + 56) - 2 | |
sqrt(26,896) = 164 = (2 + 68 + 96) - 2 | |
sqrt(27,889) = 167 = (2 + 78 + 89) - 2 | |
sqrt(50,176) = 224 = (50 + 176) - 2 | |
sqrt(110,224) = 332 = (110 + 224) - 2 | |
sqrt(112,225) = 335 = (112 + 225) - 2 | |
sqrt(118,336) = 344 = (1 + 1 + 8 + 336) - 2 | |
sqrt(196,249) = 443 = (196 + 249) - 2 | |
sqrt(204,304) = 452 = (20 + 430 + 4) - 2 | |
sqrt(241,081) = 491 = (2 + 410 + 81) - 2 | |
sqrt(250,000) = 500 = (2 + 500 + 0 + 0) - 2 | |
sqrt(310,249) = 557 = (310 + 249) - 2 | |
sqrt(426,409) = 653 = (4 + 2 + 640 + 9) - 2 | |
sqrt(442,225) = 665 = (442 + 225) - 2 | |
sqrt(446,224) = 668 = (44 + 622 + 4) - 2 | |
sqrt(466,489) = 683 = (4 + 664 + 8 + 9) - 2 | |
sqrt(574,564) = 758 = (5 + 745 + 6 + 4) - 2 | |
sqrt(597,529) = 773 = (5 + 9 + 752 + 9) - 2 | |
sqrt(602,176) = 776 = (602 + 176) - 2 | |
sqrt(786,769) = 887 = (7 + 867 + 6 + 9) - 2 | |
sqrt(792,100) = 890 = (792 + 100) - 2 | |
sqrt(802,816) = 896 = (80 + 2 + 816) - 2 | |
sqrt(808,201) = 899 = (80 + 820 + 1) - 2 | |
sqrt(868,624) = 932 = (868 + 62 + 4) - 2 | |
sqrt(879,844) = 938 = (87 + 9 + 844) - 2 | |
sqrt(885,481) = 941 = (8 + 854 + 81) - 2 | |
sqrt(902,500) = 950 = (902 + 50 + 0) - 2 | |
sqrt(913,936) = 956 = (9 + 13 + 936) - 2 | |
sqrt(966,289) = 983 = (966 + 2 + 8 + 9) - 2 | |
sqrt(972,196) = 986 = (972 + 1 + 9 + 6) - 2 | |
sqrt(978,121) = 989 = (978 + 12 + 1) - 2 | |
sqrt(984,064) = 992 = (984 + 0 + 6 + 4) - 2 | |
sqrt(990,025) = 995 = (990 + 0 + 2 + 5) - 2 | |
sqrt(996,004) = 998 = (996 + 0 + 0 + 4) - 2 | |
sqrt(1,002,001) = 1,001 = (1,002 + 0 + 0 + 1) - 2 | |
sqrt(1,062,961) = 1,031 = (10 + 62 + 961) - 2 | |
sqrt(1,229,881) = 1,109 = (1 + 229 + 881) - 2 | |
sqrt(1,249,924) = 1,118 = (124 + 992 + 4) - 2 | |
sqrt(1,495,729) = 1,223 = (1 + 495 + 729) - 2 | |
sqrt(1,771,561) = 1,331 = (1 + 771 + 561) - 2 | |
sqrt(1,779,556) = 1,334 = (1 + 779 + 556) - 2 | |
sqrt(2,301,289) = 1,517 = (230 + 1,289) - 2 | |
sqrt(2,768,896) = 1,664 = (2 + 768 + 896) - 2 | |
sqrt(2,778,889) = 1,667 = (2 + 778 + 889) - 2 | |
sqrt(3,171,961) = 1,781 = (3 + 1,719 + 61) - 2 | |
sqrt(3,301,489) = 1,817 = (330 + 1,489) - 2 | |
sqrt(4,182,025) = 2,045 = (4 + 18 + 2,025) - 2 | |
sqrt(6,822,544) = 2,612 = (68 + 2 + 2,544) - 2 | |
sqrt(7,268,416) = 2,696 = (7 + 2,684 + 1 + 6) - 2 | |
sqrt(9,229,444) = 3,038 = (92 + 2,944 + 4) - 2 | |
sqrt(10,316,944) = 3,212 = (1 + 0 + 3,169 + 44) - 2 | |
sqrt(10,903,204) = 3,302 = (10 + 90 + 3,204) - 2 | |
sqrt(11,102,224) = 3,332 = (1,110 + 2,224) - 2 | |
sqrt(11,122,225) = 3,335 = (1,112 + 2,225) - 2 | |
sqrt(12,823,561) = 3,581 = (12 + 8 + 2 + 3,561) - 2 | |
sqrt(13,235,044) = 3,638 = (132 + 3,504 + 4) - 2 | |
sqrt(13,586,596) = 3,686 = (1 + 3,586 + 5 + 96) - 2 | |
sqrt(13,675,204) = 3,698 = (1 + 3,675 + 20 + 4) - 2 | |
sqrt(13,697,401) = 3,701 = (1 + 3,697 + 4 + 0 + 1) - 2 | |
sqrt(14,737,921) = 3,839 = (1 + 47 + 3,792 + 1) - 2 | |
sqrt(15,389,929) = 3,923 = (15 + 3,899 + 2 + 9) - 2 | |
sqrt(16,540,489) = 4,067 = (1 + 6 + 5 + 4,048 + 9) - 2 | |
sqrt(18,421,264) = 4,292 = (18 + 4,212 + 64) - 2 | |
sqrt(19,439,281) = 4,409 = (1 + 9 + 4,392 + 8 + 1) - 2 | |
sqrt(20,784,481) = 4,559 = (2 + 0 + 78 + 4,481) - 2 | |
sqrt(21,446,161) = 4,631 = (2 + 14 + 4,616 + 1) - 2 | |
sqrt(22,174,681) = 4,709 = (2 + 21 + 7 + 4,681) - 2 | |
sqrt(22,714,756) = 4,766 = (2 + 2 + 7 + 1 + 4,756) - 2 | |
sqrt(23,348,224) = 4,832 = (2 + 3 + 3 + 4,822 + 4) - 2 | |
sqrt(23,522,500) = 4,850 = (2,352 + 2,500) - 2 | |
sqrt(24,492,601) = 4,949 = (24 + 4,926 + 0 + 1) - 2 | |
sqrt(24,910,081) = 4,991 = (2 + 4,910 + 0 + 81) - 2 | |
sqrt(25,000,000) = 5,000 = (2 + 5,000 + 0 + 0 + 0) - 2 | |
sqrt(26,522,500) = 5,150 = (2,652 + 2,500) - 2 | |
sqrt(27,520,516) = 5,246 = (27 + 5,205 + 16) - 2 | |
sqrt(28,665,316) = 5,354 = (28 + 6 + 6 + 5,316) - 2 | |
sqrt(29,604,481) = 5,441 = (2 + 960 + 4,481) - 2 | |
sqrt(32,205,625) = 5,675 = (32 + 20 + 5,625) - 2 | |
sqrt(36,857,041) = 6,071 = (368 + 5,704 + 1) - 2 | |
sqrt(40,246,336) = 6,344 = (4 + 0 + 2 + 4 + 6,336) - 2 | |
sqrt(41,396,356) = 6,434 = (41 + 39 + 6,356) - 2 | |
sqrt(43,665,664) = 6,608 = (4 + 36 + 6,566 + 4) - 2 | |
sqrt(44,422,225) = 6,665 = (4,442 + 2,225) - 2 | |
sqrt(44,462,224) = 6,668 = (444 + 6,222 + 4) - 2 | |
sqrt(44,662,489) = 6,683 = (44 + 6,624 + 8 + 9) - 2 | |
sqrt(45,670,564) = 6,758 = (45 + 6,705 + 6 + 4) - 2 | |
sqrt(46,730,896) = 6,836 = (4 + 6,730 + 8 + 96) - 2 | |
sqrt(48,469,444) = 6,962 = (4 + 8 + 4 + 6,944 + 4) - 2 | |
sqrt(52,867,441) = 7,271 = (528 + 6,744 + 1) - 2 | |
sqrt(56,685,841) = 7,529 = (5 + 6,685 + 841) - 2 | |
sqrt(57,775,201) = 7,601 = (5 + 77 + 7,520 + 1) - 2 | |
sqrt(60,777,616) = 7,796 = (6 + 0 + 7,776 + 16) - 2 | |
sqrt(66,080,641) = 8,129 = (6 + 60 + 8,064 + 1) - 2 | |
sqrt(66,961,489) = 8,183 = (6,696 + 1,489) - 2 | |
sqrt(67,354,849) = 8,207 = (6 + 7,354 + 849) - 2 | |
sqrt(68,194,564) = 8,258 = (6 + 8,194 + 56 + 4) - 2 | |
sqrt(68,244,121) = 8,261 = (6 + 8,244 + 12 + 1) - 2 | |
sqrt(71,961,289) = 8,483 = (7,196 + 1,289) - 2 | |
sqrt(73,085,401) = 8,549 = (7 + 3 + 0 + 8,540 + 1) - 2 | |
sqrt(77,880,625) = 8,825 = (7 + 7 + 8,806 + 2 + 5) - 2 | |
sqrt(78,889,924) = 8,882 = (7,888 + 992 + 4) - 2 | |
sqrt(79,049,881) = 8,891 = (7,904 + 988 + 1) - 2 | |
sqrt(80,281,600) = 8,960 = (802 + 8,160 + 0) - 2 | |
sqrt(82,119,844) = 9,062 = (8,211 + 9 + 844) - 2 | |
sqrt(82,828,201) = 9,101 = (8,282 + 820 + 1) - 2 | |
sqrt(82,882,816) = 9,104 = (8,288 + 2 + 816) - 2 | |
sqrt(83,759,104) = 9,152 = (8 + 37 + 5 + 9,104) - 2 | |
sqrt(85,359,121) = 9,239 = (85 + 35 + 9,121) - 2 | |
sqrt(86,192,656) = 9,284 = (8 + 6 + 1 + 9,265 + 6) - 2 | |
sqrt(87,086,224) = 9,332 = (8,708 + 622 + 4) - 2 | |
sqrt(87,928,129) = 9,377 = (87 + 9,281 + 2 + 9) - 2 | |
sqrt(90,935,296) = 9,536 = (90 + 9,352 + 96) - 2 | |
sqrt(91,164,304) = 9,548 = (9,116 + 430 + 4) - 2 | |
sqrt(91,795,561) = 9,581 = (9 + 17 + 9,556 + 1) - 2 | |
sqrt(96,687,889) = 9,833 = (9,668 + 78 + 89) - 2 | |
sqrt(96,746,896) = 9,836 = (9,674 + 68 + 96) - 2 | |
sqrt(96,983,104) = 9,848 = (9 + 6 + 9,831 + 0 + 4) - 2 | |
sqrt(97,337,956) = 9,866 = (9,733 + 79 + 56) - 2 | |
sqrt(97,397,161) = 9,869 = (9,739 + 71 + 61) - 2 | |
sqrt(98,049,604) = 9,902 = (9,804 + 96 + 0 + 4) - 2 | |
sqrt(98,109,025) = 9,905 = (9,810 + 90 + 2 + 5) - 2 | |
sqrt(98,168,464) = 9,908 = (9,816 + 84 + 6 + 4) - 2 | |
sqrt(98,287,396) = 9,914 = (9,828 + 73 + 9 + 6) - 2 | |
sqrt(98,346,889) = 9,917 = (9,834 + 68 + 8 + 9) - 2 | |
sqrt(98,644,624) = 9,932 = (9,864 + 4 + 62 + 4) - 2 | |
sqrt(98,704,225) = 9,935 = (9,870 + 42 + 25) - 2 | |
sqrt(99,002,500) = 9,950 = (9,900 + 2 + 50 + 0) - 2 | |
sqrt(99,121,936) = 9,956 = (9,912 + 1 + 9 + 36) - 2 | |
sqrt(99,301,225) = 9,965 = (9,930 + 12 + 25) - 2 | |
sqrt(99,361,024) = 9,968 = (9,936 + 10 + 24) - 2 | |
sqrt(99,660,289) = 9,983 = (9,966 + 0 + 2 + 8 + 9) - 2 | |
sqrt(99,720,196) = 9,986 = (9,972 + 0 + 1 + 9 + 6) - 2 | |
sqrt(99,780,121) = 9,989 = (9,978 + 0 + 12 + 1) - 2 | |
sqrt(99,840,064) = 9,992 = (9,984 + 0 + 0 + 6 + 4) - 2 | |
sqrt(99,900,025) = 9,995 = (9,990 + 0 + 0 + 2 + 5) - 2 | |
sqrt(99,960,004) = 9,998 = (9,996 + 0 + 0 + 0 + 4) - 2 | |
sqrt(100,020,001) = 10,001 = (10,002 + 0 + 0 + 0 + 1) - 2 | |
sqrt(102,010,000) = 10,100 = (102 + 0 + 10,000) - 2 | |
sqrt(111,049,444) = 10,538 = (1 + 1 + 10,494 + 44) - 2 | |
sqrt(132,618,256) = 11,516 = (1 + 3,261 + 8,256) - 2 | |
sqrt(139,617,856) = 11,816 = (1 + 3,961 + 7,856) - 2 | |
sqrt(177,715,561) = 13,331 = (1 + 7,771 + 5,561) - 2 | |
sqrt(177,795,556) = 13,334 = (1 + 7,779 + 5,556) - 2 | |
sqrt(201,412,864) = 14,192 = (2 + 0 + 14,128 + 64) - 2 | |
sqrt(214,212,496) = 14,636 = (2,142 + 12,496) - 2 | |
sqrt(246,615,616) = 15,704 = (24 + 66 + 15,616) - 2 | |
sqrt(252,015,625) = 15,875 = (252 + 0 + 15,625) - 2 | |
sqrt(277,688,896) = 16,664 = (2 + 7,768 + 8,896) - 2 | |
sqrt(277,788,889) = 16,667 = (2 + 7,778 + 8,889) - 2 | |
sqrt(349,615,204) = 18,698 = (3,496 + 15,204) - 2 | |
sqrt(452,115,169) = 21,263 = (45 + 21,151 + 69) - 2 | |
sqrt(682,254,400) = 26,120 = (682 + 25,440 + 0) - 2 | |
sqrt(932,630,521) = 30,539 = (9 + 3 + 2 + 6 + 30,521) - 2 | |
sqrt(993,132,196) = 31,514 = (99 + 31,321 + 96) - 2 | |
sqrt(1,111,022,224) = 33,332 = (11,110 + 22,224) - 2 | |
sqrt(1,111,222,225) = 33,335 = (11,112 + 22,225) - 2 | |
sqrt(1,229,834,761) = 35,069 = (12 + 298 + 34,761) - 2 | |
sqrt(1,235,100,736) = 35,144 = (1 + 2 + 35,100 + 7 + 36) - 2 | |
sqrt(1,261,599,361) = 35,519 = (1 + 26,159 + 9,361) - 2 | |
sqrt(1,305,015,625) = 36,125 = (1 + 30,501 + 5,625) - 2 | |
sqrt(1,327,436,356) = 36,434 = (1 + 3 + 2 + 74 + 36,356) - 2 | |
sqrt(1,359,101,956) = 36,866 = (1 + 35,910 + 1 + 956) - 2 | |
sqrt(1,366,633,024) = 36,968 = (1 + 36,663 + 302 + 4) - 2 | |
sqrt(1,369,296,016) = 37,004 = (1 + 36,929 + 60 + 16) - 2 | |
sqrt(1,369,518,049) = 37,007 = (1 + 36,951 + 8 + 0 + 49) - 2 | |
sqrt(1,369,962,169) = 37,013 = (1 + 36,996 + 2 + 1 + 6 + 9) - 2 | |
sqrt(1,437,850,561) = 37,919 = (1 + 4 + 37,850 + 5 + 61) - 2 | |
sqrt(1,441,037,521) = 37,961 = (1 + 441 + 0 + 37,521) - 2 | |
sqrt(1,696,039,489) = 41,183 = (1,696 + 0 + 39,489) - 2 | |
sqrt(1,786,414,756) = 42,266 = (1 + 786 + 41,475 + 6) - 2 | |
sqrt(1,909,427,809) = 43,697 = (1 + 909 + 42,780 + 9) - 2 | |
sqrt(1,932,042,025) = 43,955 = (1,932 + 0 + 42,025) - 2 | |
sqrt(2,045,210,176) = 45,224 = (2 + 0 + 45,210 + 1 + 7 + 6) - 2 | |
sqrt(2,239,844,929) = 47,327 = (2 + 2,398 + 44,929) - 2 | |
sqrt(2,301,024,961) = 47,969 = (23,010 + 24,961) - 2 | |
sqrt(2,373,248,656) = 48,716 = (23 + 7 + 32 + 48,656) - 2 | |
sqrt(2,491,008,100) = 49,910 = (2 + 49,100 + 810 + 0) - 2 | |
sqrt(2,499,100,081) = 49,991 = (2 + 49,910 + 0 + 0 + 81) - 2 | |
sqrt(2,500,000,000) = 50,000 = (2 + 50,000 + 0 + 0 + 0 + 0) - 2 | |
sqrt(2,555,504,704) = 50,552 = (25 + 55 + 50,470 + 4) - 2 | |
sqrt(2,595,087,364) = 50,942 = (2 + 59 + 50,873 + 6 + 4) - 2 | |
sqrt(2,630,048,656) = 51,284 = (2,630 + 0 + 48,656) - 2 | |
sqrt(2,707,224,961) = 52,031 = (27,072 + 24,961) - 2 | |
sqrt(2,752,366,369) = 52,463 = (27 + 52,366 + 3 + 69) - 2 | |
sqrt(2,774,444,929) = 52,673 = (2 + 7,744 + 44,929) - 2 | |
sqrt(2,866,852,849) = 53,543 = (28 + 668 + 52,849) - 2 | |
sqrt(2,922,051,136) = 54,056 = (2,922 + 0 + 51,136) - 2 | |
sqrt(3,054,551,824) = 55,268 = (30 + 54 + 55,182 + 4) - 2 | |
sqrt(3,065,504,689) = 55,367 = (306 + 55,046 + 8 + 9) - 2 | |
sqrt(3,357,854,809) = 57,947 = (3 + 3 + 57,854 + 80 + 9) - 2 | |
sqrt(3,458,733,721) = 58,811 = (3 + 4 + 58,733 + 72 + 1) - 2 | |
sqrt(3,553,590,544) = 59,612 = (3 + 553 + 59,054 + 4) - 2 | |
sqrt(3,680,606,224) = 60,668 = (36 + 8 + 0 + 60,622 + 4) - 2 | |
sqrt(3,686,068,369) = 60,713 = (3 + 6 + 8 + 60,683 + 6 + 9) - 2 | |
sqrt(3,737,610,496) = 61,136 = (3 + 73 + 7 + 61,049 + 6) - 2 | |
sqrt(4,167,864,481) = 64,559 = (4 + 1 + 67 + 8 + 64,481) - 2 | |
sqrt(4,426,640,089) = 66,533 = (4 + 42 + 66,400 + 89) - 2 | |
sqrt(4,444,222,225) = 66,665 = (44,442 + 22,225) - 2 | |
sqrt(4,444,622,224) = 66,668 = (4,444 + 62,222 + 4) - 2 | |
sqrt(4,446,622,489) = 66,683 = (444 + 66,224 + 8 + 9) - 2 | |
sqrt(4,456,630,564) = 66,758 = (445 + 66,305 + 6 + 4) - 2 | |
sqrt(4,510,062,649) = 67,157 = (4,510 + 0 + 62,649) - 2 | |
sqrt(4,683,349,225) = 68,435 = (4 + 68,334 + 92 + 2 + 5) - 2 | |
sqrt(4,683,759,844) = 68,438 = (4 + 68,375 + 9 + 8 + 44) - 2 | |
sqrt(4,736,880,625) = 68,825 = (4 + 7 + 3 + 68,806 + 2 + 5) - 2 | |
sqrt(4,806,926,224) = 69,332 = (48 + 0 + 69,262 + 24) - 2 | |
sqrt(4,833,169,441) = 69,521 = (48 + 3 + 31 + 69,441) - 2 | |
sqrt(4,890,065,041) = 69,929 = (4,890 + 0 + 65,041) - 2 | |
sqrt(4,931,269,729) = 70,223 = (493 + 1 + 2 + 69,729) - 2 | |
sqrt(4,973,070,400) = 70,520 = (49 + 73 + 0 + 70,400) - 2 | |
sqrt(4,991,705,104) = 70,652 = (49 + 91 + 70,510 + 4) - 2 | |
sqrt(5,048,670,916) = 71,054 = (50 + 4 + 86 + 70,916) - 2 | |
sqrt(5,293,726,564) = 72,758 = (5 + 2 + 93 + 72,656 + 4) - 2 | |
sqrt(5,367,320,644) = 73,262 = (5 + 3 + 6 + 73,206 + 44) - 2 | |
sqrt(5,714,755,216) = 75,596 = (57 + 14 + 75,521 + 6) - 2 | |
sqrt(5,734,275,625) = 75,725 = (57 + 3 + 42 + 75,625) - 2 | |
sqrt(6,545,780,836) = 80,906 = (6 + 5 + 4 + 57 + 80,836) - 2 | |
sqrt(6,610,015,204) = 81,302 = (66,100 + 15,204) - 2 | |
sqrt(6,714,819,136) = 81,944 = (6 + 7 + 14 + 81,913 + 6) - 2 | |
sqrt(6,779,381,569) = 82,337 = (677 + 93 + 81,569) - 2 | |
sqrt(6,784,816,900) = 82,370 = (678 + 4 + 81,690 + 0) - 2 | |
sqrt(6,791,243,281) = 82,409 = (6 + 79,124 + 3,281) - 2 | |
sqrt(6,825,899,161) = 82,619 = (6 + 82,589 + 9 + 16 + 1) - 2 | |
sqrt(6,983,443,489) = 83,567 = (69 + 83,443 + 48 + 9) - 2 | |
sqrt(7,287,012,496) = 85,364 = (72,870 + 12,496) - 2 | |
sqrt(7,328,558,449) = 85,607 = (7 + 3 + 2 + 85,584 + 4 + 9) - 2 | |
sqrt(7,604,886,436) = 87,206 = (760 + 4 + 8 + 86,436) - 2 | |
sqrt(7,898,587,876) = 88,874 = (7 + 8 + 985 + 87,876) - 2 | |
sqrt(8,129,005,921) = 90,161 = (81 + 2 + 90,059 + 21) - 2 | |
sqrt(8,248,998,976) = 90,824 = (824 + 89,989 + 7 + 6) - 2 | |
sqrt(8,288,281,600) = 91,040 = (82,882 + 8,160 + 0) - 2 | |
sqrt(8,539,238,464) = 92,408 = (8 + 5 + 3 + 92,384 + 6 + 4) - 2 | |
sqrt(8,598,667,441) = 92,729 = (85,986 + 6,744 + 1) - 2 | |
sqrt(8,710,862,224) = 93,332 = (87,108 + 6,222 + 4) - 2 | |
sqrt(8,822,657,041) = 93,929 = (88,226 + 5,704 + 1) - 2 | |
sqrt(8,894,941,969) = 94,313 = (8 + 8 + 94 + 94,196 + 9) - 2 | |
sqrt(8,994,815,281) = 94,841 = (8 + 9 + 94,815 + 2 + 8 + 1) - 2 | |
sqrt(9,070,086,169) = 95,237 = (9,070 + 0 + 86,169) - 2 | |
sqrt(9,204,867,364) = 95,942 = (9,204 + 86,736 + 4) - 2 | |
sqrt(9,285,635,044) = 96,362 = (92,856 + 3,504 + 4) - 2 | |
sqrt(9,322,095,601) = 96,551 = (932 + 20 + 95,601) - 2 | |
sqrt(9,401,629,444) = 96,962 = (94,016 + 2,944 + 4) - 2 | |
sqrt(9,484,422,544) = 97,388 = (94,844 + 2 + 2,544) - 2 | |
sqrt(9,794,862,961) = 98,969 = (97,948 + 62 + 961) - 2 | |
sqrt(9,809,713,936) = 99,044 = (98,097 + 13 + 936) - 2 | |
sqrt(9,812,685,481) = 99,059 = (98,126 + 854 + 81) - 2 | |
sqrt(9,823,386,769) = 99,113 = (98,233 + 867 + 6 + 9) - 2 | |
sqrt(9,845,997,529) = 99,227 = (98,459 + 9 + 752 + 9) - 2 | |
sqrt(9,848,974,564) = 99,242 = (98,489 + 745 + 6 + 4) - 2 | |
sqrt(9,863,866,489) = 99,317 = (98,638 + 664 + 8 + 9) - 2 | |
sqrt(9,869,826,409) = 99,347 = (98,698 + 2 + 640 + 9) - 2 | |
sqrt(9,900,250,000) = 99,500 = (99,002 + 500 + 0 + 0) - 2 | |
sqrt(9,902,041,081) = 99,509 = (99,020 + 410 + 81) - 2 | |
sqrt(9,913,985,761) = 99,569 = (991 + 3 + 98,576 + 1) - 2 | |
sqrt(9,931,318,336) = 99,656 = (99,313 + 1 + 8 + 336) - 2 | |
sqrt(9,955,250,176) = 99,776 = (99,552 + 50 + 176) - 2 | |
sqrt(9,966,627,889) = 99,833 = (99,666 + 2 + 78 + 89) - 2 | |
sqrt(9,967,226,896) = 99,836 = (99,672 + 2 + 68 + 96) - 2 | |
sqrt(9,973,217,956) = 99,866 = (99,732 + 1 + 79 + 56) - 2 | |
sqrt(9,973,817,161) = 99,869 = (99,738 + 1 + 71 + 61) - 2 | |
sqrt(9,978,012,100) = 99,890 = (99,780 + 12 + 100) - 2 | |
sqrt(9,979,810,201) = 99,899 = (99,798 + 102 + 0 + 1) - 2 | |
sqrt(9,980,409,604) = 99,902 = (99,804 + 0 + 96 + 0 + 4) - 2 | |
sqrt(9,981,009,025) = 99,905 = (99,810 + 0 + 90 + 2 + 5) - 2 | |
sqrt(9,981,608,464) = 99,908 = (99,816 + 0 + 84 + 6 + 4) - 2 | |
sqrt(9,982,807,396) = 99,914 = (99,828 + 0 + 73 + 9 + 6) - 2 | |
sqrt(9,983,406,889) = 99,917 = (99,834 + 0 + 68 + 8 + 9) - 2 | |
sqrt(9,986,404,624) = 99,932 = (99,864 + 0 + 4 + 62 + 4) - 2 | |
sqrt(9,987,004,225) = 99,935 = (99,870 + 0 + 42 + 25) - 2 | |
sqrt(9,990,002,500) = 99,950 = (99,900 + 0 + 2 + 50 + 0) - 2 | |
sqrt(9,991,201,936) = 99,956 = (99,912 + 0 + 1 + 9 + 36) - 2 | |
sqrt(9,993,001,225) = 99,965 = (99,930 + 0 + 12 + 25) - 2 | |
sqrt(9,993,601,024) = 99,968 = (99,936 + 0 + 10 + 24) - 2 | |
sqrt(9,996,600,289) = 99,983 = (99,966 + 0 + 0 + 2 + 8 + 9) - 2 | |
sqrt(9,997,200,196) = 99,986 = (99,972 + 0 + 0 + 1 + 9 + 6) - 2 | |
sqrt(9,997,800,121) = 99,989 = (99,978 + 0 + 0 + 12 + 1) - 2 | |
sqrt(9,998,400,064) = 99,992 = (99,984 + 0 + 0 + 0 + 6 + 4) - 2 | |
sqrt(9,999,000,025) = 99,995 = (99,990 + 0 + 0 + 0 + 2 + 5) - 2 | |
sqrt(9,999,600,004) = 99,998 = (99,996 + 0 + 0 + 0 + 0 + 4) - 2 | |
Number of matches found: 299 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment