hdu 4548 美素数

#include
#include
#include
#include
#include
#include
using namespace std;
const int maxn = 1000001;
int sum(int n)//求和
{
	int sum = 0;
	while (n)
	{
		sum += n % 10;
		n = n / 10;
	}
	return sum;
}
int isprimer(int n)//判断是否是素数
{
	if (n == 1)
	{
		return 0;
	}
	else
	{
		int i;
		int m = (int)sqrt(n);
		for (i = 2; i <= m; i++)
		{
			if (n%i == 0)
			{
				break;
			}
		}
		if (i>m)
		{
			return 1;
		}
		else
		{
			return 0;
		}
	}
		
	
}
int isbprimer(int n)//判断是否是美素数
{
	if (isprimer(n) && isprimer(sum(n)))
	{
		return 1;
	}
	else
	{
		return 0;
	}
}
int number[maxn];
int main()
{
	int sum = 0;
	for (int i = 1; i < maxn; i++)//制表
	{
			if (isbprimer(i))
			{
				sum++;
			}
			number[i]= sum;
		
	}
	long long int t, a, b;
	cin >> t;
	for (int i = 1; i <= t; i++)//打表
	{
		cin >> a >> b;;
		cout << "Case #" << i << ":" << " " <

 

你可能感兴趣的:(小学期练习——筛选法及预处理)