输入格式:
输入在一行给出正整数N
。
输出格式:
在一行中输出不超过N
的满足猜想的素数对的个数。
输入样例:
20
输出样例:
4
解题思路:
- 读入范围
- 循环遍历范围内的数,判断是否是素数,如果是素数,则存入数组
- 遍历素数数组,判断两素数之差是否为2,如果为2,计数加1
- 输出计数结果
代码:
#include#include int checkPrime(int number);int main(int argc, char *argv) { int number; int i; scanf("%d", &number); int array[10000]; int index = 0; int sum = 0; int *zero; for( i = 2; i <= number; i++) { if (checkPrime(i)) { array[index] = i; index++; } } zero = array; int location = 0; for (location = 0; location < index+1; location++) { if(*(zero + location + 1) - *(zero + location) == 2) { sum++; } } printf("%d", sum); return 0;} int checkPrime(int number) { int i = 2, result = 1; for (i; i <= sqrt(number); i++) { if (number % i == 0) { result = 0; break; } } return result; }