HDU 1397 Goldbach's Conjecture

哥德巴赫猜想,注意不要重复统计分解得到的素数对,即(3,7)(7,3)视为同一对。

const int N=35010;
int primes[N],cnt;
bool vis[N];
int n;
void init(int n)
{
for(int i=2;i<=n;i++)
if(!vis[i])
{
primes[cnt++]=i;
for(int j=i;j<=n/i;j++)
vis[i*j]=true;
}
}
int main()
{
init(1<<15);
while(cin>>n && n)
{
int res=0;
for(int i=0;i<cnt;i++)
{
int x=n-primes[i];
if(x < primes[i]) break;
if(!vis[x]) res++;
}
cout<<res<<endl;
}
//system("pause");
return 0;
}
posted @   Dazzling!  阅读(44)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示