2909.txt
来自「北大ACM题目例程 详细的解答过程 程序实现 算法分析」· 文本 代码 · 共 51 行
TXT
51 行
Problem Id:2909 User Id:fzk
Memory:104K Time:0MS
Language:C++ Result:Accepted
Source
//#include <functional>
//#include <algorithm>
#include <cstdio>
#include <vector>
#include <map>
#include <stack>
#include <memory.h>
using namespace std;
int prime[30000];
int pnum = 0;
bool sign[1<<16]= { 0 };
void init() {
int i, j;
for( i=2; i<=(1<<15); i++ ) {
if( !sign[i] ) {
for( j= i+i; j<=(1<<15); j+=i )
sign[j] = true;
prime[pnum++] = i;
}
}
}
int main( ) {
int a, c, i, j;
init( );
while( 1 ) {
scanf( "%d", &a );
if( !a ) break;
c = 0;
for( i=0, j=pnum-1; i<=j; i++ ) {
while( j>i && prime[j]+prime[i] > a )
j--;
if( prime[j]+prime[i] == a )
c++;
}
printf( "%d\n", c );
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?