zoukankan      html  css  js  c++  java
  • poj3100---求根问题

    题意:a的n方=b,a这个整数与b开n方的值相近,分别向上取整和向下取整,同时n方,b一定介于这两个整数之间,然后比较这两个数与b的距离,取最近的

    收获:c++的cei和floor函数在c中的向上取整和向下取整函数为:

    double a;(int)a   --向下取整     (int)a+1     ---向上取整

    注意:c里面的pow,如3的4次方根   pow(3,1.0/4),不加.0就变成3的0次方

    还有,c里面的pow原型double pow(double x, double y);

    x和y放整数都应该无所谓 pow(7,3)=343.0000000,会被强制转换

    int a,b;  pow(a,b)  加上double是为了增加可读性

    #include <stdio.h>
    #include <stdlib.h>
    #include<math.h>
    
    int main()
    {
        int b,n,d1,d2,a1,a2;
        double ans;
        while(scanf("%d %d",&b,&n) != EOF && !(b==0 && n==0))
        {
            ans = pow(b,1.0/n);//这里一定要写1.0
            a1 = (int)ans;
            a2 = (int)(ans+1);
            d1 = abs((int) pow( a1, n) - b);//abs还是用于整数的绝对值以后类型转换后面的四则运算就不加括号了,不影响
            d2 = (int)pow( a2, n) - b;
            if(d1 > d2)
                printf("%d
    ",a2);
            else
                printf("%d
    ",a1);
        }
        return 0;
    }
    View Code
  • 相关阅读:
    Android悬浮窗拖动
    git提交错误问题如何解决?
    STM32单片机使用注意事项
    C指针说明
    cygwin注意事项
    关于百度地图的使用问题
    Android GIS osmdroid地图使用
    三个能力构建人生护城河
    浪潮之醒
    MingGW Posix VS Win32
  • 原文地址:https://www.cnblogs.com/gabygoole/p/4590501.html
Copyright © 2011-2022 走看看