zoukankan      html  css  js  c++  java
  • 求给定小数最接近的整数——pku3175

    直接枚举整数算余数  明显会超时
    枚举(小数+整数) 求方后四舍五入,后求根号后比较小数,看是否一致即可
    注意:费解的精度问题
    如:对219048452111求根号,然后对求得的数进行*10运算,到后来开始的第九位小数会变化,由4到3的变化?解决方法,直接乘1000,000,000后求第9位数
    View Code
    #include<stdio.h>
    #include
    <math.h>
    int main()
    {
    __int64 l,s,j;
    __int64 i,n,t1;
    while(scanf("%I64d%I64d",&l,&s)!=EOF)
    {
    double t,st;
    t
    =s*1.0/pow(10.0,l);
    for(i=1;i<=99999999;i++)
    {
    n
    =(t+i)*(t+i)+0.5;
    t1
    =sqrt(n*1.0);
    st
    =sqrt(n*1.0);
    st
    =st-t1;
    t1
    =st*pow(10.0,l);
    if(t1==s)
    break;
    }
    printf(
    "%I64d\n",n);
    }
    }
  • 相关阅读:
    网络之传输层
    局域网的物理组成
    网络基础
    RAID磁盘阵列
    mount挂载和交换分区swap
    Linux文件系统
    sed命令基础2
    sed命令基础
    LVM基础
    磁盘配额基础
  • 原文地址:https://www.cnblogs.com/huhuuu/p/1997200.html
Copyright © 2011-2022 走看看