C语言·流程控制·质数求和

C语言·流程控制·质数求和

problem 4-6 质数求和
时间限制:1S
问题描述 输入一个大于20的正整数p,求出正整数范围内第p个质数(或素数,大于1且只能被1和自己整除的正整数,)到第p+10个质数之和。其中,第1个质数为2,第2个质数为3,第3个质数为5,第4个质数为7,依次类推。
输入说明 :一行输入1个整数p,20< p <150。 输出说明 第p个质数到第p+10个质数之和。
输入样例: 21
输出样例: 1081

#include
int main()
{
     
	int p,i,j,iSum=0,iNum=1,m;
	/*i待判数,j判断循环数,
	iNum自2起的已经找到的素数个数 ,
	iSum目标素数和,
	m用于标记整除情况*/ 
	scanf("%d",&p);
	/*寻找素数*/ 
	for(i=3; ;i++)
	{
     
		m=0;
		/*判断一个数是否为素数*/ 
		for(j=2;j<i;j++)
		{
     
			/*判断一个数是否可以被某个小于自己的数整除*/ 
			if(i%j!=0)
			{
     
				m++;
			}
			else
			{
     
				continue;
			}
		}
		/*通过m标记量识别并捕捉目标素数*/ 
		if(m==i-2)
		{
     
			iNum++;
			if(iNum<=p+10&&iNum>=p)
			{
     
				iSum+=i;
			}
		}
		/*捕捉完后终止循环*/ 
		else if(iNum>p+10)
		{
     
			break;
		}
	}
	/*s输出结果*/ 
	printf("%d",iSum);
	return 0;
}

你可能感兴趣的:(#C语言练习,c语言)