zoukankan      html  css  js  c++  java
  • hdu 3809 Decrypt coordinate (水。。)

    点击打开链接

    PS:题目意思:让你求解方程:

    x1=x-sqrt(y);
    y1=y-sqrt(x);
    已知x1,y1,要求x与y,精确到小数点后6位。
    解题思路;
    迭代法,式子是这样推的:
    x=x1+sqrt(y);
    y=y1+sqrt(x);

    然后一开始把y=y1,x=x1赋值上去迭代,因为x>x1,y>y1;所以这样迭代上去,值会累加。可是为什么累加后值不会超过真实的x与y呢。。。因为x=x1+sqrt(y1+sqrt(x1));这里面y1+sqrt(x)本来就是小于真实的y的。所以这里迭代上去只能使值越来越靠近真实值,而不会出现迭代上去后,值超过真实值的情况。。

    #include<stdio.h>
    #include<math.h>
    #define eps 1e-8
    int main()
    {
    	int i,t;
    	double x,y,tx,ty,x1,y1;
    	scanf("%d",&t);
    	for(i=1;i<=t;i++)
    	{
    		scanf("%lf%lf",&x1,&y1);
    		x=x1;y=y1;
    		do{
    			tx=x;ty=y;
    			x=x1+sqrt(ty);
    			y=y1+sqrt(tx);
    		}while(fabs(x-tx)>eps||fabs(y-ty)>eps);
    		printf("Case %d: %.6f %.6f\n",i,x,y);
    	}
    	return 0;
    }


  • 相关阅读:
    搭建论坛
    修改ecshop页面
    通信失败的原因
    UCenter教程
    discuz论坛 手机登录
    discuz论坛 安装短信插件
    eccshop获取商品详情属性的字段调用值
    php与discuz形成的对接
    php
    php论坛
  • 原文地址:https://www.cnblogs.com/yyf573462811/p/6365226.html
Copyright © 2011-2022 走看看