solution.md 1.7 KB
Newer Older
每日一练社区's avatar
每日一练社区 已提交
1 2 3
# 寻找孪生素数

数学家希尔伯特在1900年国际数学家大会的报告上提出一个“孪生素数猜想”,即: 存在无穷多个素数p,使得p + 2是素数。p和p+2这一对差为2的素数,被称为“孪生素数”。
ToTensor's avatar
ToTensor 已提交
4

每日一练社区's avatar
每日一练社区 已提交
5
看起来,这个猜想是成立的,我们总能找到很多对孪生素数,例如:3和5,5和7,11和13…… 这一猜想至今还未被证明。
ToTensor's avatar
ToTensor 已提交
6

每日一练社区's avatar
每日一练社区 已提交
7 8
现在,对于给定的整数n, 请寻找大于n的最小的一对孪生素数p和q(q=p+2)。

ToTensor's avatar
ToTensor 已提交
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
以下程序实现了这一功能,请你填补空白处的内容:

```cpp
#include <cmath>
#include <iostream>
using namespace std;
int sushu(int x)
{
    if (x <= 1)
        return 0;
    int i, j = 1;
    for (i = 2; i <= sqrt(x); i++)
    {
		_______________
    }
    return j;
}
int main()
{
    int x;
    cin >> x;
    int i = x + 1;
    for (;; i++)
    {
        if (sushu(i) && sushu(i + 2))
            break;
    }
    cout << i << ' ' << i + 2;
    return 0;
}
```

每日一练社区's avatar
每日一练社区 已提交
41 42 43 44 45 46 47 48
## template

```cpp
#include <cmath>
#include <iostream>
using namespace std;
int sushu(int x)
{
ToTensor's avatar
ToTensor 已提交
49 50 51 52 53 54 55 56 57 58 59 60
    if (x <= 1)
        return 0;
    int i, j = 1;
    for (i = 2; i <= sqrt(x); i++)
    {
        if (x % i == 0)
        {
            j = 0;
            break;
        }
    }
    return j;
每日一练社区's avatar
每日一练社区 已提交
61 62 63
}
int main()
{
ToTensor's avatar
ToTensor 已提交
64 65 66 67 68 69 70 71 72 73
    int x;
    cin >> x;
    int i = x + 1;
    for (;; i++)
    {
        if (sushu(i) && sushu(i + 2))
            break;
    }
    cout << i << ' ' << i + 2;
    return 0;
每日一练社区's avatar
每日一练社区 已提交
74 75 76 77 78 79
}
```

## 答案

```cpp
ToTensor's avatar
ToTensor 已提交
80 81 82 83 84
if (x % i == 0)
{
	j = 0;
	break;
}
每日一练社区's avatar
每日一练社区 已提交
85 86 87 88 89 90 91
```

## 选项

### A

```cpp
ToTensor's avatar
ToTensor 已提交
92 93 94 95 96
if (x % i == 0)
{
	j = 0;
	continue;
}
每日一练社区's avatar
每日一练社区 已提交
97 98 99 100 101
```

### B

```cpp
ToTensor's avatar
ToTensor 已提交
102 103 104 105 106
if (x % i == 1)
{
	j = 0;
	break;
}
每日一练社区's avatar
每日一练社区 已提交
107 108 109 110 111
```

### C

```cpp
ToTensor's avatar
ToTensor 已提交
112 113 114 115 116
if (x % i == 1)
{
	j = 0;
	continue;
}
每日一练社区's avatar
每日一练社区 已提交
117
```