Isqrt (integer square root) of X: Difference between revisions

→‎{{header|Go}}: Second part limited now to odd powers of 7.
(→‎{{header|Wren}}: Second part limited now to odd powers of 7.)
(→‎{{header|Go}}: Second part limited now to odd powers of 7.)
Line 190:
var zero = big.NewInt(0)
var one = big.NewInt(1)
var seven = big.NewInt(7)
 
func isqrt(x *big.Int) *big.Int {
Line 235 ⟶ 234:
fmt.Println("----- --------------------------------------------------------------------------------- -----------------------------------------")
pow7 := big.NewInt(7)
for ibi49 := 1; i <= 73; i++ {big.NewInt(49)
for i := 1; i <= 73; i += 2 {
fmt.Printf("%2d %84s %41s\n", i, commatize(pow7.String()), commatize(isqrt(pow7).String()))
pow7.Mul(pow7, sevenbi49)
}
}</lang>
Line 251:
----- --------------------------------------------------------------------------------- -----------------------------------------
1 7 2
2 49 7
3 343 18
4 2,401 49
5 16,807 129
6 117,649 343
7 823,543 907
8 5,764,801 2,401
9 40,353,607 6,352
10 282,475,249 16,807
11 1,977,326,743 44,467
12 13,841,287,201 117,649
13 96,889,010,407 311,269
14 678,223,072,849 823,543
15 4,747,561,509,943 2,178,889
16 33,232,930,569,601 5,764,801
17 232,630,513,987,207 15,252,229
18 1,628,413,597,910,449 40,353,607
19 11,398,895,185,373,143 106,765,608
20 79,792,266,297,612,001 282,475,249
21 558,545,864,083,284,007 747,359,260
22 3,909,821,048,582,988,049 1,977,326,743
23 27,368,747,340,080,916,343 5,231,514,822
24 191,581,231,380,566,414,401 13,841,287,201
25 1,341,068,619,663,964,900,807 36,620,603,758
26 9,387,480,337,647,754,305,649 96,889,010,407
27 65,712,362,363,534,280,139,543 256,344,226,312
28 459,986,536,544,739,960,976,801 678,223,072,849
29 3,219,905,755,813,179,726,837,607 1,794,409,584,184
30 22,539,340,290,692,258,087,863,249 4,747,561,509,943
31 157,775,382,034,845,806,615,042,743 12,560,867,089,291
32 1,104,427,674,243,920,646,305,299,201 33,232,930,569,601
33 7,730,993,719,707,444,524,137,094,407 87,926,069,625,040
34 54,116,956,037,952,111,668,959,660,849 232,630,513,987,207
35 378,818,692,265,664,781,682,717,625,943 615,482,487,375,282
36 2,651,730,845,859,653,471,779,023,381,601 1,628,413,597,910,449
37 18,562,115,921,017,574,302,453,163,671,207 4,308,377,411,626,977
38 129,934,811,447,123,020,117,172,145,698,449 11,398,895,185,373,143
39 909,543,680,129,861,140,820,205,019,889,143 30,158,641,881,388,842
40 6,366,805,760,909,027,985,741,435,139,224,001 79,792,266,297,612,001
41 44,567,640,326,363,195,900,190,045,974,568,007 211,110,493,169,721,897
42 311,973,482,284,542,371,301,330,321,821,976,049 558,545,864,083,284,007
43 2,183,814,375,991,796,599,109,312,252,753,832,343 1,477,773,452,188,053,281
44 15,286,700,631,942,576,193,765,185,769,276,826,401 3,909,821,048,582,988,049
45 107,006,904,423,598,033,356,356,300,384,937,784,807 10,344,414,165,316,372,973
46 749,048,330,965,186,233,494,494,102,694,564,493,649 27,368,747,340,080,916,343
47 5,243,338,316,756,303,634,461,458,718,861,951,455,543 72,410,899,157,214,610,812
48 36,703,368,217,294,125,441,230,211,032,033,660,188,801 191,581,231,380,566,414,401
49 256,923,577,521,058,878,088,611,477,224,235,621,321,607 506,876,294,100,502,275,687
50 1,798,465,042,647,412,146,620,280,340,569,649,349,251,249 1,341,068,619,663,964,900,807
51 12,589,255,298,531,885,026,341,962,383,987,545,444,758,743 3,548,134,058,703,515,929,815
52 88,124,787,089,723,195,184,393,736,687,912,818,113,311,201 9,387,480,337,647,754,305,649
53 616,873,509,628,062,366,290,756,156,815,389,726,793,178,407 24,836,938,410,924,611,508,707
54 4,318,114,567,396,436,564,035,293,097,707,728,087,552,248,849 65,712,362,363,534,280,139,543
55 30,226,801,971,775,055,948,247,051,683,954,096,612,865,741,943 173,858,568,876,472,280,560,953
56 211,587,613,802,425,391,637,729,361,787,678,676,290,060,193,601 459,986,536,544,739,960,976,801
57 1,481,113,296,616,977,741,464,105,532,513,750,734,030,421,355,207 1,217,009,982,135,305,963,926,677
58 10,367,793,076,318,844,190,248,738,727,596,255,138,212,949,486,449 3,219,905,755,813,179,726,837,607
59 72,574,551,534,231,909,331,741,171,093,173,785,967,490,646,405,143 8,519,069,874,947,141,747,486,745
60 508,021,860,739,623,365,322,188,197,652,216,501,772,434,524,836,001 22,539,340,290,692,258,087,863,249
61 3,556,153,025,177,363,557,255,317,383,565,515,512,407,041,673,852,007 59,633,489,124,629,992,232,407,216
62 24,893,071,176,241,544,900,787,221,684,958,608,586,849,291,716,964,049 157,775,382,034,845,806,615,042,743
63 174,251,498,233,690,814,305,510,551,794,710,260,107,945,042,018,748,343 417,434,423,872,409,945,626,850,517
64 1,219,760,487,635,835,700,138,573,862,562,971,820,755,615,294,131,238,401 1,104,427,674,243,920,646,305,299,201
65 8,538,323,413,450,849,900,970,017,037,940,802,745,289,307,058,918,668,807 2,922,040,967,106,869,619,387,953,625
66 59,768,263,894,155,949,306,790,119,265,585,619,217,025,149,412,430,681,649 7,730,993,719,707,444,524,137,094,407
67 418,377,847,259,091,645,147,530,834,859,099,334,519,176,045,887,014,771,543 20,454,286,769,748,087,335,715,675,381
68 2,928,644,930,813,641,516,032,715,844,013,695,341,634,232,321,209,103,400,801 54,116,956,037,952,111,668,959,660,849
69 20,500,514,515,695,490,612,229,010,908,095,867,391,439,626,248,463,723,805,607 143,180,007,388,236,611,350,009,727,669
70 143,503,601,609,868,434,285,603,076,356,671,071,740,077,383,739,246,066,639,249 378,818,692,265,664,781,682,717,625,943
71 1,004,525,211,269,079,039,999,221,534,496,697,502,180,541,686,174,722,466,474,743 1,002,260,051,717,656,279,450,068,093,686
72 7,031,676,478,883,553,279,994,550,741,476,882,515,263,791,803,223,057,265,323,201 2,651,730,845,859,653,471,779,023,381,601
73 49,221,735,352,184,872,959,961,855,190,338,177,606,846,542,622,561,400,857,262,407 7,015,820,362,023,593,956,150,476,655,802
</pre>
9,482

edits