现在的位置: 首页 > 综合 > 正文

sicily 1500

2012年08月21日 ⁄ 综合 ⁄ 共 548字 ⁄ 字号 评论关闭
#include "iostream"
#include "cmath"
using namespace std;

bool is_primer (int n)//判断是否为素数!
{
	if (n == 1)
		return 0;
	int m;
	m = floor(sqrt(double (n)) + 0.5);
	for (int i = 2; i <= m; i++)
		if (n % i == 0)
			return 0;
	return 1;
}
int main()
{
	int InputNum;
	int FrontPrimer, BackPrimer;
	while (cin >> InputNum && InputNum)
	{
		int length = 0;
		if (is_primer(InputNum))//如果是素数,直接输出结果为0
			cout << length << endl;
		else
		{
			for (int i = InputNum; i >= 2; i--)//求这个数的前一个素数!
				if (is_primer(i))
				{
					FrontPrimer = i;
					break;
				}
			for (int i = InputNum; ; i++)//求这个数的后一个素数!
				if (is_primer(i))
				{
					BackPrimer = i;
					break;
				}
			length = BackPrimer - FrontPrimer;//长度为两个素数的差!
			cout << length << endl;
		}
	}
}

 

抱歉!评论已关闭.