腾讯2017秋招笔试[编程题] 素数对

来源:互联网 发布:平板淘宝怎么开店 编辑:程序博客网 时间:2024/06/06 16:31

时间限制:1秒

空间限制:32768K

给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000。
如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7)) 
输入描述:
输入包括一个整数n,(3 ≤ n < 1000)


输出描述:
输出对数

输入例子1:
10

输出例子1:
2
#include <cstdio>#include <cmath>int is_prime(int n){    if(n<=1) return 0;    int m=round(sqrt(n));    for(int i=2;i<=m;i++)        if(n%i==0) return 0;    return 1;}int main(){    int n;    int cnt=0;    while(scanf("%d",&n)==1){        for(int i=2;i<=n/2;i++){            if(is_prime(i)&&is_prime(n-i)) cnt++;        }        printf("%d\n",cnt);    }    return 0;}

原创粉丝点击