美文网首页
二进制整数1的个数-取近似值-求最小公倍数

二进制整数1的个数-取近似值-求最小公倍数

作者: 华容三少 | 来源:发表于2020-06-19 17:12 被阅读0次

    求int型正整数在内存中存储时1的个数

    题目描述

    输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。

    输入描述:

    输入一个整数(int类型)

    输出描述:

    这个数转换成2进制后,输出1的个数

    示例

    输入:5
    输出:2

    #include<iostream>
    using namespace std;
    int main()
    {
        int n;
        while (cin >> n) {
            int ret = 0;
            while (n) {
                if ((n & 1) == 1)
                    ret++;
                n = n >> 1;
            }
            cout << ret<< endl;
        }
    }
    

    取近似值

    题目描述

    写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。

    输入描述:

    输入一个正浮点数值

    输出描述:

    输出该数值的近似整数值

    示例

    输入:5.5
    输出:6

    #include<iostream>
    #include<string>
    using namespace std;
    int main() {
        string num;
        while (cin >> num)
        {
            size_t pos = num.find('.');
            string str = num.substr(0, pos);
            int ret = atoi(str.c_str());
            if (num[pos + 1] >= '5' && num[pos + 1] < '9')
                cout << ret + 1 << endl;
            else
                cout << ret << endl;
        }
    }
    

    求最小公倍数

    题目描述

    正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。

    输入描述:

    输入两个正整数A和B。

    输出描述:

    输出A和B的最小公倍数。

    /*
    最小公倍数 = 两数之积除以最大公约数
    */
    #include<iostream>
    using namespace std;
    int main()
    {
        int a, b;
        cin >> a >> b;
        if (b>a)
            swap(a, b);
     
        int ret = a*b;
        int num = a%b;
        while (num)
        {
            a = b;
            b = num;
            num = a%b;
        }
        cout << ret / b << endl;
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:二进制整数1的个数-取近似值-求最小公倍数

          本文链接:https://www.haomeiwen.com/subject/zaxbxktx.html