#P14590. [Bulgarian 2023]square_free

    ID: 13806 传统题 3000ms 512MiB 尝试: 1 已通过: 1 难度: 6 上传者: 标签>CF2100数论筛法前缀和莫比乌斯反演分块杜教筛

[Bulgarian 2023]square_free

题目描述

如果一个自然数 xx 不存在某个自然数 y>1y>1,使得 y2y^2 能整除 xx,那么称 xx平方自由数

给定一个自然数 nn,求区间 [1,n][1,n] 中平方自由数的个数。

由于这个版本过于简单,你需要回答 qq 组这样的询问。

请编写程序 square_free,对于每组给定的 nn,输出不大于 nn 的平方自由数个数。

输入格式

第一行输入一个整数 qq,表示测试组数。

接下来 qq 行,每行一个整数 nn,表示一组询问。

输出格式

输出 qq 行。

对于每组询问,输出一个整数,表示答案。

数据范围

  • 1n10141 \le n \le 10^{14}
  • 1q5001 \le q \le 500

子任务

子任务 分值 nn qq
1 5 107\le 10^7 -
2 15 - =1=1
3 10 10\le 10
4 30 125\le 125
5 20 250\le 250
6 -

只有通过某个子任务中的全部测试点,才能获得该子任务的全部分数。

样例输入 #1

2
4
10

样例输出 #1

3
7

样例说明 #1

不超过 1010 的平方自由数为:1,2,3,5,6,7,101,2,3,5,6,7,10