题目:设一个正整数既是平方数又是立方数时,称其为special数。
输入包含多组测试数据,第一行输入测试数据的组数,接着在后续每行输入n(n<= 1000000000)的时候,
请输出1到n中包含的所有special数的个数。
Example:
Inputs:
2
1
64
Outputs:
1
2
代码:
/*
Project: special_num
Date: 2019/01/05
Author: Frank Yu
题目:设一个正整数既是平方数又是立方数时,称其为special数。
输入包含多组测试数据,第一行输入测试数据的组数,接着在后续每行输入n(n<= 1000000000)的时候,
请输出1到n中包含的所有special数的个数。
Example:
Inputs:
2
1
64
Outputs:
1
2
*/
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<string>
#include<set>
#include<list>
#include<vector>
#include<iterator>
#include<algorithm>
#include<iostream>
using namespace std;
typedef long long ll;
int main()
{
int t=0;
scanf("%d",&t);
while (t--)
{
int count = 0;
ll n;
scanf("%lld", &n);
for (ll i = 1;i*i*i <= n;i++)//降低数量级
{
ll lifang = i*i*i;
for (ll j = 1;j*j <= lifang;j++)
{
if (j*j == lifang)//特殊数
{
count++;
}
}
}
printf("%d\n", count);
}
return 0;
}
结果截图:
更多数据结构实现:数据结构严蔚敏版的实现(含全部代码)
有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。