zoukankan      html  css  js  c++  java
  • 【Educational Codeforces Round 33 B】Beautiful Divisors

    B. Beautiful Divisors
    time limit per test
    2 seconds
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    Recently Luba learned about a special kind of numbers that she calls beautiful numbers. The number is called beautiful iff its binary representation consists of k + 1 consecutive ones, and then k consecutive zeroes.

    Some examples of beautiful numbers:

    • 12 (110);
    • 1102 (610);
    • 11110002 (12010);
    • 1111100002 (49610).

    More formally, the number is beautiful iff there exists some positive integer k such that the number is equal to (2k - 1) * (2k - 1).

    Luba has got an integer number n, and she wants to find its greatest beautiful divisor. Help her to find it!

    Input

    The only line of input contains one number n (1 ≤ n ≤ 105) — the number Luba has got.

    Output

    Output one number — the greatest beautiful divisor of Luba's number. It is obvious that the answer always exists.

    Examples
    input
    3
    output
    1
    input
    992
    output
    496
    题意:找到能够满足整除n的最大的漂亮数(漂亮数的定义就是十进制数转为二进制时,有k+1个1和k个0)
    思路:打表。。。
    #include<stdio.h>
    #include<math.h>
    #include<stdlib.h>
    #define inf 0x3f3f3f
    int main()
    {
        int num[10];
        int k,i,n,max ;
        for(i = 0; i < 8; i ++)
        {
            int sum = 0;
            for(k = 2*i; k >= i; k --)
            {
                sum += pow(2,k);
            }
            num[i] = sum;
        }
        while(scanf("%d",&n)!=EOF)
        {
            max = -inf;
            for(i = 0; i < 8; i ++)
            {
                if(n%num[i] == 0)
                {
                    if(num[i] > max)
                        max = num[i];
                }
            }
            printf("%d
    ",max);
        }
        return 0;
    }
  • 相关阅读:
    建立连接数据库时要输入哪些信息?
    如何建立一个JDBC程序?
    如何在网上找MySQL数据库的JDBC驱动jar包?
    gorm连接mysql数据库
    Django ORM的骚操作
    Python 发送企业微信单发和群发机器人
    python获取指定间隔日期列表
    表名小写_set.all()再根据字段过滤
    foreignkey相关的参数
    Django 模型层-多表操作
  • 原文地址:https://www.cnblogs.com/hellocheng/p/7890069.html
Copyright © 2011-2022 走看看