PTA 7-10 迭代法求正数的平方根 (10分)

感情迁移 提交于 2020-01-07 22:56:44

利用迭代法求正数的平方根。x0=a/2;

输入格式:

要求,在一行输入实数a(a>0)和eps(eps>0)。

输出格式:

输出平方根,保留4位小数及迭代次数。

输入样例:

在这里给出一组输入。例如:

7.8 0.01
 

输出样例:

在这里给出相应的输出。例如:

2.7949 3
作者: 李志聪
单位: 哈尔滨师范大学
时间限制: 400 ms
内存限制: 64 MB
代码长度限制: 16 KB
 
 1 import java.util.Scanner;
 2 public class Main {
 3     public static void main(String[] args)   {
 4         Scanner sc=new Scanner(System.in);
 5         double a=sc.nextDouble();
 6         double eps=sc.nextDouble();
 7         int sum=1;
 8         double temp=a/2,item;
 9         item=0.5*temp+0.5*(a/temp);
10         while(Math.abs(item-temp)>=eps) {
11             temp=item;
12             item=0.5*temp+0.5*(a/temp);
13             sum++;
14         }
15         double k;
16         k=item*0.5+temp*0.5;
17         System.out.printf("%.4f %d",k,sum);
18     }
19 }

自己一开始没写出来。参考了别人的写法(待补充

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!