zoukankan      html  css  js  c++  java
  • Refrain

    贪心...我都好奇自己当时没事干怎么就学了贪心...

    当然尽管这样23道题我也没写完...

    正如gg所说:我们要不厌其烦地写题解。(当然不存在的

    1455:An Easy Problem

    As we known, data stored in the computers is in binary form. The problem we discuss now is about the positive integers and its binary form.

    Given a positive integer I, you task is to find out an integer J, which is the minimum integer greater than I, and the number of '1's in whose binary form is the same as that in the binary form of I.

    For example, if "78" is given, we can write out its binary form, "1001110". This binary form has 4 '1's. The minimum integer, which is greater than "1001110" and also contains 4 '1's, is "1010011", i.e. "83", so you should output "83".
    输入One integer per line, which is I (1 <= I <= 1000000).

    A line containing a number "0" terminates input, and this line need not be processed.
    输出One integer per line, which is J.
    其实这题就是把一个数转换为二进制,1的数量要求一样,要得到比给定数大的最小的数。
    所以只要统计出有多少个一就好了。
    不想解释别的了qwqqqqq
    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    int gcd(int n)
    {
        int flag=0;
        while(n)
        {
            if(n%2)
            {
                flag++;
            }
            n/=2;
        }
        return flag;
    }
    int main()
    {
        int n;
        while(cin>>n)
        {
            if(!n)break;
            int t=gcd(n);
            for(int i=n+1; ;i++)
            {
                if(gcd(i)==t)
                {
                    cout<<i<<endl;
                    break;
                }
            }
        }
        return 0;
    }

    我们称之为路的,无非是踌躇。

  • 相关阅读:
    laravel-admin 关闭debug模式导致异常信息到页面的排查
    laravel-sql
    laravel任务调度出现僵尸进程
    PHP获取首字母笔记
    IP库笔记
    深入理解 js 闭包
    用键盘实现上下选择
    密码保护
    评分效果
    数组去重
  • 原文地址:https://www.cnblogs.com/Grigory/p/10159642.html
Copyright © 2011-2022 走看看