第一容疑者のためのPATのテストB 1007

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/a029019/article/details/100579276

第一容疑者のためのPATのテストB 1007

トピック:

私たちはDを定義してみましょう
Dのn = PN + 1 - :N-ある PN、 P iはi番目の素数です。明らかに、D1 = 1であり、そしてn> 1について偶数DNがあります。ことを「推測する素数」「隣接の無限の数があると貧しいが素数2です」

今、任意の正の整数N(<105)を与え、計算数Nが素数の推測を満たし超えません。

入力フォーマット:
単一の行には、正の整数Nを与えています

出力フォーマットは:
素数の数の出力は、Nは、行の推測を満たしているよりも多くのではありません。

サンプル入力:
20
サンプル出力:
4

コード:

#pragma warning(disable:4996)
#include <stdio.h>
#include <string.h>
#include<stdlib.h>
#include <memory.h>
#include <math.h>

int main(void)
{
	int a = 0, b = 3, i = 0, flag = 1, c = 0, n = 0;
	scanf("%d", &a);
	while (b <= a)
	{
		for (i = 2; i < sqrt(b) + 1; i++)
		{
			if (b % i == 0)
			{
				flag = 0;
			}
		}
		if (flag == 0)
		{
			c = 0;
		}
		if (flag == 1)
		{
			c++;
		}
		if (c == 2)
		{
			n++;
			c = 1;
		}
		b = b + 2;
		flag = 1;
	}
	printf("%d\n", n);

//	array = (int*)malloc(n * (sizeof(int)));
	
//	free(array);
	return 0;
}

この質問は、主に残業問題、唯一のルートは、それが素数であるかどうかを知ることができるようになります決定する必要がある番号です。

おすすめ

転載: blog.csdn.net/a029019/article/details/100579276