zoukankan      html  css  js  c++  java
  • 【2024】求X到Y之间的整数和

    Time Limit: 3 second
    Memory Limit: 2 MB

    【问题描述】

    计算X到Y之间的整数和(要求用函数实现)。注意输入时X不一定小于Y,且X、Y不一定都是整数。

    【输入】

    两行,第一行为X,第二行为y。

    【输出】

    一行,x与y之间的整数和

    【输入样例】

    8.5
    12.5

    【输出样例】

        42
    

    【题解】

    这个处理有点麻烦。

    先获取两个数的整数部分 用int(实数)这个函数来。这个函数不存在向上或向下取整,是直接除去小数部分。

    然后确定累加的下界和上界。分别可以用这几个样例来确定划分标准

    (约定x <=y )

    x = -200.5  y =-199.5  -> -200

    x= -200 y = -199 ->-399

    x = 200.5 y = 201.5 ->201

    x = 200 y= 201 -> 401

    【代码】

    #include <cstdio>
    
    double x,y,z;
    int ix,iy,ans = 0;
    
    void input_data() //输入数据
    {
        scanf("%lf",&x); //x <= y
        scanf("%lf",&y); //让x <= y成立
        if (x > y)
            {
                z = x;
                x = y;
                y = z;
            }
    }
    
    void get_ans() //开始处理上界和下界
    {
            int f,t;
            ix = int(x);
            iy = int (y);
            double dd; //这里处理正数和负数的方法不同。
            if (x > 0)
                {
                    dd = x-ix;
                    if (dd < 0.00001)
                        f = ix;
                            else
                                f = ix +1;
                }
                    else
                        {
                            f = ix;
                        }
            if (y > 0)
                {
                    t = iy;
                }
                    else
                        {
                            dd = iy-y;
                            if (dd < 0.00001)
                                t = iy;
                                    else
                                        t = iy - 1;
                        }
            for( int i = f;i <= t;i++)
                ans+=i;
    }
    
    void output_ans()
    {
        printf("%d",ans);
    }
    
    int main()
    {
        input_data();
        get_ans();
        output_ans();
        return 0;
    }
    


     

  • 相关阅读:
    jupyterlab数据处理
    系统监测模块
    登录验证码的实现
    编码格式检测chardet模块
    图像处理pillow模块
    内存数据的读取
    力扣(LeetCode)728. 自除数
    力扣(LeetCode)709. 转换成小写字母
    Java 层序创建和遍历二叉树
    力扣(LeetCode) 849. 到最近的人的最大距离
  • 原文地址:https://www.cnblogs.com/AWCXV/p/7632474.html
Copyright © 2011-2022 走看看