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;
    }

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

  • 相关阅读:
    do...while(0)的妙用
    用位运算实现求绝对值-有效避开ifelse判断
    经典排序算法的C++ template封装
    DOM学习总结(二) 熊削铁如泥
    标签设计Loop标签
    asp:树型select菜单
    自家用的DataReapter分页代码
    正则表达式(一)
    C#中利用正则表达式实现字符串搜索
    解读C#中的正则表达式
  • 原文地址:https://www.cnblogs.com/Grigory/p/10159642.html
Copyright © 2011-2022 走看看