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;
    }
    最后处理负数情形
  • 相关阅读:
    codeforce 272B Dima and Sequence
    Codeforce 270D Greenhouse Effect
    codeforce 270C Magical Boxes
    codeforce 270B Multithreading
    图论--Dijkstra算法总结
    图论--(技巧)超级源点与超级汇点
    图论--Floyd总结
    ZOJ 3932 Handshakes
    ZOJ 3932 Deque and Balls
    ZOJ 3927 Programming Ability Test
  • 原文地址:https://www.cnblogs.com/wendcn/p/12557312.html
Copyright © 2011-2022 走看看