C语言编程100题-4.1

3.1
孪生素数是指间隔为 2 的相邻素数,例如最小的孪生素数是3和5,5和7也是。输入N找出2-N之间的孪生素数的个数。
输入:N
输出:个数
样例:
10
2

法一

#include<stdio.h>
int a;
int isprime(int a)//判断素数的函数isprime
{
	int i, put = 1;
	for (i = 2; i < a; i++)//从2开始判断,无需判断该数目本身,故不用≤
		if (a%i == 0)
			put = 0;
	return put;//1代表素数,0代表合数
}
int main()
{
	int N, b, sum;
	scanf("%d", &N);
	sum = 0;
	{
		if (isprime(b) == 1 && isprime(b + 2) == 1)
			sum++;
	}
	printf("%d", sum);
	system("pause");
	return 0;
}

法二

#include<stdio.h>
int a;
int isprime(int a)
{
    int j, put;
    put = 1;
    for (j = 2; j < a; j++)
        if (a%j == 0)
            put = 0;
    return put;
}
int main()
{
    int h, b, sum, a_1, a_2;
    scanf("%d", &h);
    sum = 0;
    a_1 = 2; a_2 = 2;
    for (b = 2; b <= h; b++)
    {
        if (isprime(b) == 1)
        {
            a_2 = b;
        }
        if (a_2 - a_1 == 2)
        {
            sum++;
        }
        a_1 = a_2;
    }
    printf("%d", sum);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/nollysoul/article/details/89762590