zoukankan      html  css  js  c++  java
  • cogs 2687. 讨厌整除的小明

    ☆   输入文件:ming.in   输出文件:ming.out   逐字节对比
    时间限制:1 s   内存限制:256 MB

    【题目描述】


    小明作为一个数学迷,总会出于数字的一些性质喜欢上某个数字,然而当他喜欢数字k的时候,却十分讨厌那些能够整除k而比k小的数,认为那些数会分解数字k从而破坏掉k的美感……


    有一天,他想:如果所有人都和自己一样,那么是不是喜欢两个含有倍数关系的不同数字的人就不能做朋友了?于是他想,至少用多少个集合,才能包括1到n的所有n个整数,使得所有存在倍数关系的两个不同数字在不同的集合里面?


    小明脑子不好使,于是把问题交给了你。




    【输入格式】

    第一行一个数字q,表示询问次数

    接下来q行,每一行一个数字n,表示问题中的n。


    【输出格式】

    共q行,每行一个数字,表示数字n对应的问题的答案。

    【样例输入】

    1
    5
    

    【样例输出】

    3

    【提示】


    {1}{2,5}{3,4}


    【来源】

    QBXT春季训练营的二次测试T1 

    这是什么原因,为什么这样可以:

     1 # include <cstdio>
     2 # include <iostream>
     3 # define ll long long
     4 
     5 using namespace std;
     6 
     7 inline ll get_num() 
     8 {
     9     ll k = 0, f = 1;
    10     char c = getchar();
    11     for(; !isdigit(c); c = getchar()) if(c == '-') f = -1;
    12     for(; isdigit(c); c = getchar()) k = k * 10 + c - '0';
    13     return k * f;
    14 }
    15 
    16 inline ll get_line(ll x) 
    17 {
    18     ll k = 1;
    19     while(x >> 1) 
    20     {
    21         x >>= 1;
    22         k++;
    23     }
    24     return k;
    25 }
    26 
    27 int main() 
    28 {
    29     freopen("ming.in", "r", stdin);
    30     freopen("ming.out", "w", stdout);
    31     ll n = get_num();
    32     while(n--) 
    33     {
    34         ll x = get_num();
    35         printf("%lld
    ", get_line(x));
    36     }
    37 }
  • 相关阅读:
    精讲响应式WebClient第6篇-请求失败自动重试机制,强烈建议你看一看
    dubbo实战之三:使用Zookeeper注册中心
    dubbo实战之二:与SpringBoot集成
    dubbo实战之一:准备和初体验
    树莓派4B安装官方Ubuntu20 Server版(64位)
    JUnit5学习之八:综合进阶(终篇)
    纯函数
    函数式编程基本概念
    vscod使用指南
    实际使用Elasticdump工具对Elasticsearch集群进行数据备份和数据还原
  • 原文地址:https://www.cnblogs.com/lyqlyq/p/6889635.html
Copyright © 2011-2022 走看看