B1007

来源:互联网 发布:java类设计工具 编辑:程序博客网 时间:2024/05/01 19:31
#include<iostream>using namespace std;int q[100002] = { 0 };//筛选法void find(int num){    q[0] = 1;    q[1] = 1;    for (int i = 2; i <= num; ++i)    {        if(q[i] == 1)            continue;        //筛选出当前数字i的倍数        for (int j = 2*i; j <= num; j=j+i)            q[j] = 1;    }}//q[]0的位置数就是质数void show(int num){    int ag = 0, ans = 0;//again,answer    for (int i = 2; i <= num; ++i)        if (q[i] == 0)            q[ag++] = i;//再利用一次q存放质数    for (int i = 0; i < ag; ++i)        if (q[i + 1] - q[i] == 2)            ++ans;    cout << ans;}int main(){    int num = 0;    cin >> num;    find(num);    show(num);    system("pause");    return 0;}
0 0