BUPT復試專題—Special 數(2017)
阿新 • • 發佈:2018-03-23
number don 包含 pan ace span data 機考 測試數據
題目描述
設一個正整數既是平方數乂是立方數時,稱為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> usingnamespace 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(inti=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; }
BUPT復試專題—Special 數(2017)