洛谷水题赏析第二弹

首先,这是道蓝题

P8883 幻想中成为原神

题目背景

钟离很喜欢数学题。

其中一个问题是这样的:定义一个丘丘人是可以被击杀的,当且仅当存在一个大于 111 的完全平方数能够整除它的编号。比如,121212 号丘丘人就是可以被击杀的,因为它能够被 444 整除;151515 号丘丘人则不能被击杀。请计算编号为 1∼n1\sim n1n 中的丘丘人中能够被击杀的个数。由于钟离秉承着“差不多得了”的做事理念,因此,他允许你的答案与真正的答案有着不超过 2×1042\times10^42×104 的绝对误差。

输入格式

本题多组询问。第一行输入一个数 TTT,表示询问组数。

每组询问输入一行,一个正整数 nnn

输出格式

对于每组询问,输出一行一个整数,表示编号为 1∼n1\sim n1n 中的丘丘人中能够被击杀的个数。

样例 #1

样例输入 #1

3
10
32678
9686985

样例输出 #1

3
12814
3797988

提示

样例解释

1∼101\sim 10110 中,只有 4,8,94,8,94,8,9333 个丘丘人可以被击杀,因此答案为 333

需要注意的是,由于你的答案被允许与标准答案有 2×1042\times 10^42×104 的绝对误差,因此 −2,3,20003-2,3,200032,3,20003 等输出都将被认为是正确的。

数据范围
  • Subtask 1(10 pts)\text{Subtask 1(10 pts)}Subtask 1(10 pts)n≤105n\le 10^5n105
  • Subtask 2(20 pts)\text{Subtask 2(20 pts)}Subtask 2(20 pts)n≤107n\le 10^7n107
  • Subtask 3(20 pts)\text{Subtask 3(20 pts)}Subtask 3(20 pts)n≤109n\le 10^9n109
  • Subtask 4(20 pts)\text{Subtask 4(20 pts)}Subtask 4(20 pts)T=1T=1T=1
  • Subtask 5(30 pts)\text{Subtask 5(30 pts)}Subtask 5(30 pts):无特殊性质。

对于 100%100\%100% 数据,满足 1≤n≤10181\le n\le 10^{18}1n10181≤T≤1041\le T\le 10^41T104,保证 nnn 在范围内随机得到。

———————————————————————
关于原神的内容请自动忽略

打表!!
打了一坤年后,输入与答案的比值出来了…

6÷π2≈6\div\pi^2\approx6÷π2 0.39207289814597337133672322074163
≈\approx
0.39207289814597

完结撒花

红题的码量
橙题的打表
蓝题的经验

#include<bits/stdc++.h>
#define ac 0.39207289814597
using namespace std;
int main()
{
	int t;
	double n;
	scanf("%d",&t);
	while(t--)
	{
		cin>>n;
		n*=ac;
		printf("%lld\n",(long long)n);
	}
	return 0;
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值