判断n和m之间有几个又是平方数又是立方数的数的数量,我的思路是循环查找,但是由于数据量是10的8次方,所以不出意外的超时了,望解答(快读快写也只快了一点点)
80分代码如下(不是洛谷的题目)
#include <bits/stdc++.h>
using namespace std;
bool check(int n) {
for (int i = 1; i <= sqrt(n); i++) {
if (i * i * i == n) return true;
}
return false;
}
bool check2(int n) {
return (sqrt(n) == (int)sqrt(n));
}
int main() {
int cnt = 0, n, m;
scanf("%d%d", &n, &m);
for (int i = n; i <= m; i++) {
if (check(i) && check2(i)) cnt++;
}
printf("%d",cnt);
}