zoukankan      html  css  js  c++  java
  • 1029:计算浮点数相除的余

    1029:计算浮点数相除的余


    时间限制: 1000 ms         内存限制: 65536 KB
    提交数: 45286     通过数: 18793 

    【题目描述】

    计算两个双精度浮点数aa和bb的相除的余数,aa和bb都是双精度浮点数。这里余数r(r)的定义是:a=k×b+ra=k×b+r,其中kk是整数,0r<b0≤r<b。

    【输入】

    输入仅一行,包括两个双精度浮点数aa和bb。

    【输出】

    输出也仅一行,a÷ba÷b的余数。

    【输入样例】

    73.263 0.9973

    【输出样例】

    0.4601

    【分析】

      本题原理较为简单,就是余数的基本概念,难点是容易忽略被除数为负数的情况

    解决办法:1、找商时采用向下取整(调用系统函数floor)

         2、最后处理负数。若找出余数为负数,再加一个除数就好

    代码展示:

    #include<iostream>
    #include<cmath>
    using namespace std;
    int main(){
        double a,b,r;
        cin>>a>>b;
        r=a-floor(a/b)*b;
        cout<<r<<endl;
        return 0;
    }
    向下取整
    #include<iostream>
    using namespace std;
    int main(){
        double a,b,r;
        cin>>a>>b;
        r=a-int(a/b)*b;
        if(r<0)r+=b;
        cout<<r<<endl;
        return 0;
    }
    最后处理负数情形
  • 相关阅读:
    【剑指Offer】面试招聘题目2:重建二叉树
    简单的安装部署django程序
    Plinga接入
    游戏设计的一些观点
    开方实现
    Mongodb笔记
    动态编程
    数学基础的算法分析
    简单的统计代码程序
    远程在手机上调试android程序
  • 原文地址:https://www.cnblogs.com/wendcn/p/12557312.html
Copyright © 2011-2022 走看看