csharp基础练习题:英雄的根【难度:1级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练

本文介绍了C#基础练习题——英雄的根,这是一种用于近似求正整数平方根的算法。文章详细阐述了算法原理,并提供了编程目标和测试样例,适合C#初学者进行编程训练。
摘要由CSDN通过智能技术生成

csharp基础练习题:英雄的根【难度:1级】:

第一算法的一个用于近似的正整数N的整数平方根被称为"英雄的方法",
亚历山大的第一个世纪的希腊数学家英雄是谁给了第一次描述而得名
的方法.可以从里面传来后,16个世纪的牛顿的方法来获得英雄的方法.

我们近似的数通过采取初始猜测x,误差e并反复计算新的近似* 整数* 值x使用N的平方根:(X + N / X)/ 2;当以前x新x有一个绝对差值小于e我们完成.

我们提供的功能(int_rac)一些N(正整数)和参数guess(正整数),这将是我们最初的x.对于这个KATA参数"E"设置为1.

英雄的算法并不总是要来完全正确的结果!例如:当n = 25,我们得到5,但对于n = 26,我们也得到5.然而5是* 整数*的26平方根.

习题是返回整数逼近,该算法使得进程的计数.

引用:

一些例子:


int_rac(25,1):如下的[1,13,7,5]一个进展,以便我们的函数应该返回4.

int_rac(125348,300):有[300358354]所以我们的函数返回3进展.

int_rac(125348981764,356243):有[356243,354053,354046]一个进展,以便我们的函数返回3.

您可以使用Math.floor(或类似)对于每个整数逼近.

注意对JavaScript,Coffescript,打字稿:

如果你想拥有同样的结果在测试和其他语言,请不要使用双按位在每次迭代不~~.

编程目标:

using System;
public class IntSqRoot 
{
  public static long IntRac(long n, long guess)  
  {
    // your code
  }
}


测试样例:

using System;
using NUnit.Framework;
[TestFixture]
public static class IntSqRootTests {
[Test]
    public static void test1() {
        Assert.AreEqual(4, IntSqRoot.IntRac(25, 1));
}
13


最佳答案(多种解法):

点击查看答案

更多关联题目:

免责申明

本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars.com/
https://www.codewars.com/kata/heros-root

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值