Algorithm-求 n 的平方根的小数点后的第 k 个数
1 Console.Write("请输入整数 n:"); 2 string strN = Console.ReadLine(); 3 4 Console.Write("请输入整数 k:"); 5 string strK = Console.ReadLine(); 6 7 int n = 0; 8 int k = 0; 9 if (!int.TryParse(strN, out n) || !int.TryParse(strK, out k)) 10 { 11 Console.Write("请输入整数!"); 12 return; 13 } 14 15 if (k <= 0) 16 { 17 Console.Write("k 必须为正整数!"); 18 } 19 20 double j = 1, r = 0; 21 22 while ((r + j) * (r + j) <= n) 23 { 24 r += j; 25 } 26 27 if (r * r == n) 28 { 29 Console.Write(r); 30 return; 31 } 32 33 for (int i = 0; i < k ; i++) 34 { 35 j /= 10; 36 while ((r + j) * (r + j) < n) 37 { 38 r += j; 39 } 40 } 41 42 Console.WriteLine(r); 43 44 Console.WriteLine(r.ToString().Last());