pku-2909 (欧拉筛)
2024-08-20 10:44:29
题意:哥德巴赫猜想。问一个大于2的偶数能被几对素数对相加.
思路:欧拉筛,因为在n<215,在3万多,一个欧拉筛得时间差不多4*104, 那么筛出来的素数有4千多个,那么两两组合直接打表,时间复杂度下于16*106
则时间还是卡的过去。
ac代码:
#include<cstdio>
const int N = 4e4;
int prime[N];
bool vis[N];
bool is_prime[N];
int viss[N<<];
int Prime()
{
int cnt = ;
for (int i = ; i <= N; ++i)
{
if (!vis[i])
{
prime[cnt++] = i;
is_prime[i] = ;
}
for (int j = ; j < cnt&&i*prime[j] <= N; ++j)
{
vis[i*prime[j]] = ;
if (i%prime[j] == )break;
}
}
return cnt;
} int main()
{
int k = Prime();
for (int i = ; i < k;++i)
for (int j = ; j <= i; ++j)
viss[prime[i] + prime[j]]++;
int n;
while (scanf("%d", &n), n)
{
printf("%d\n", viss[n]);
}
}
最新文章
- 01背包问题python 2.7实现
- Qt之C语言有符号数与无符号数运算
- doxygen的使用(一)配置并生成文档
- [转载]斐讯K2 A2版免TTL刷BREED不死Bootloader
- STM32 水晶不摇
- ARP抓包实战小结-TCP/IP协议学习
- 最新QT4.8+kernel_3.2.5+uboot_2010.06+tslib移植成功-问题小结
- HC-06蓝牙模块的使用
- centos7.4 64位安装 google-chrome 与 chromedriver 运行 Python selenium 项目
- 560. Subarray Sum Equals K 求和为k的子数组个数
- php 下载完成后删除文件
- Thinkphp中import的几个用法详细介绍
- Laravel中pluck的使用——返回指定的字段值信息列表
- EBS-DBA 维护
- Nginx如何配置静态文件直接访问
- Express应用程序目录结构
- Django框架搭建(windows系统)
- Jquery ajax, Axios, Fetch区别
- 通过ISBN获取豆瓣详细书籍资料
- JDBC 3 通过PreparedStatement 对数据库进行增删改查