c# 开根号 牛顿迭代

double n = 1,m;
               Console.WriteLine("请输入您要开根号的数:");
               m = Convert.ToDouble(Console.ReadLine());
               for (int i = 0; 1==1; i++)
               {
                   n = (n + m / n) /2;
                
                   if (i==10000)
                   {
                       break; 
                   }
               }
               Console.WriteLine(n);

时间: 2024-10-01 10:59:39

c# 开根号 牛顿迭代的相关文章

平方开根 - 牛顿迭代(板子整理)

long long 范围内的开根 int Sqrt(int x) { if (x == 0) return 0; double last = 0; double res = 1; while (res != last) { last = res; res = (res + x / res) / 2; } return int(res); } 浮点数的开根 double fun(double x) { if (x == 0) return 0; double last = 0.0; double

二分和牛顿法实现开根号

二分法: 二分的思想很直观,就不断做折半,但这里注意需要设置一个精度来替代0,由于开根号并不一定保证能够开方取尽.这里取limit = 0.00002. 牛顿法: 设r是f(x) = 0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y = f(x)的切线L,L的方程为y = f(x0)+f'(x0)(x-x0),求出L与x轴交点的横坐标 x1 = x0-f(x0)/f'(x0),称x1为r的一次近似值. 过点(x1,f(x1))做曲线y = f(x)的切线,并求该切线与x轴交点的

poj 3111 K Best ,二分,牛顿迭代

poj 3111  K Best 有n个物品的重量和价值分别是wi和vi.从中选出k个物品使得单位重量的价值最大. 题解: 1.二分做法 2.牛顿迭代 效率比较: 二分做法: 转换成判断是否存在选取K个物品的集合S满足下面的条件: sigma(vi) / sigma(wi) >= x   {vi∈S, wi∈S} -->   simga(vi - x*wi) >= 0 这样我们对  yi= vi - x*wi {1<=i<=n}从大到小排序,计算sum(yi) {1<=

MatLab 计算开根号

对X要开根号 方法1 >> sqrt(X) 方法2 >> X^(1/2)

求方程解,牛顿迭代和二分

牛顿迭代 #include<iostream> #include<string.h> #include<math.h> using namespace std; float f(float x){ return (pow(x,3)-5*pow(x,2)+16*x+80); } float f1(float x){ return (3*pow(x,2)-5*x+16); } int main(){ // x*x*x-5*x*x+16*x+80; float x=1,x1,

HDU 5828 Rikka with Sequence(线段树 开根号)

Rikka with Sequence Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 2777    Accepted Submission(s): 503 Problem Description As we know, Rikka is poor at math. Yuta is worrying about this situati

刷题向》关于线段树的区间开根号 BZOJ3211

这是一道关于线段树的区间开根号的裸题,没什么好讲的. 值得注意的是,因为有区间开根号的性质,所以我们每一次更改操作只能把更改区间所覆盖的所有元素全部查找,当然你直接找效率明显爆炸... 能够注意到,指数级别的操作一次更改的数字都很大,而题目的数字最大是10的9次,所以可以注意到的是当一个区间更新6遍以后就失去更新的意义了,因为当你更改次数超过6次所有非负整数数字就全部会化为1.所以可以在每一个节点上加一个类似于LAZY标记的东西,记录开根号次数,以便节约跟新时间. 贴出题目&代码 Descrip

H - Can you answer these queries? HDU 4027 (线段树+延迟标记+开根号的速度)

H - Can you answer these queries? Time Limit:2000MS Memory Limit:65768KB 64bit IO Format:%I64d & %I64u Submit Status Practice HDU 4027 Description A lot of battleships of evil are arranged in a line before the battle. Our commander decides to use our

hdu 4027 Can you answer these queries? 线段树区间开根号,区间求和

Can you answer these queries? Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5195 Description A lot of battleships of evil are arranged in a line before the battle. Our commander decides to use our secret weapo