zoukankan      html  css  js  c++  java
  • BUPT复试专题—Special 数(2017)

    题目描述

    设一个正整数既是平方数乂是立方数时,称为Special数。

    输入

    输入包含多组测试数据,笫1行输入测试数据的组数,接下来在后续每行输入n(n<=1000000000)

    输出

    输出1到n中包含的所有Special数个数

    样例输入

    2
    1
    64

    样例输出

    1
    2

    提示

     打表即可

    来源

    2017机考A题 

    #include<stdio.h>
    #include<string>
    #include<string.h>
    #include<iostream>
    #include<map>
    using namespace std;
    struct num_ok
    {
        int number;
        int count;
    }nums[33];
    int main()
    {
        //freopen("23.out","w",stdout);
        int t,num=1,m,num_ok_num=0;
        cin>>t;
        map<int,int> donser;
        for(int i=1;i*i*i<=1000000000;i++)
        {
            donser[i*i*i]=-10086;
        }
        for(int i=1;i*i<=1000000000;i++)
        {
            if(donser[i*i]==-10086)
            {
                nums[num_ok_num].count=num;
                nums[num_ok_num].number=i*i;
                num_ok_num++;
                num++;
            }    
        }
        while(t--)
        {
            cin>>m;
            if(m<=1000000000&&m>887503681)
            {
                cout<<"31"<<endl;
                continue;
            }
            for(int i=num_ok_num-1;i>=0;i--)
            {
                if(nums[i].number<=m)
                {
                    cout<<nums[i].count<<endl;
                    break;
                }
                    
            }
        }
        return 0;
    }
  • 相关阅读:
    list tuple dict 方法
    字典的方法
    看不懂的缩写
    canvas画图
    DOM2和DOM3
    表单脚本
    事件
    DOM扩展
    DOM
    BOM
  • 原文地址:https://www.cnblogs.com/dzzy/p/8627723.html
Copyright © 2011-2022 走看看