素?cái)?shù)和(5分)
題目?jī)?nèi)容:
我們認(rèn)為2是第一個(gè)素?cái)?shù),3是第二個(gè)素?cái)?shù)院领,5是第三個(gè)素?cái)?shù)弛矛,依次類(lèi)推。
現(xiàn)在栅盲,給定兩個(gè)整數(shù)n和m汪诉,0<n<=m<=200废恋,你的程序要計(jì)算第n個(gè)素?cái)?shù)到第m個(gè)素?cái)?shù)之間所有的素?cái)?shù)的和谈秫,包括第n個(gè)素?cái)?shù)和第m個(gè)素?cái)?shù)。
輸入格式:
兩個(gè)整數(shù)鱼鼓,第一個(gè)表示n拟烫,第二個(gè)表示m。
輸出格式:
一個(gè)整數(shù)迄本,表示第n個(gè)素?cái)?shù)到第m個(gè)素?cái)?shù)之間所有的素?cái)?shù)的和硕淑,包括第n個(gè)素?cái)?shù)和第m個(gè)素?cái)?shù)。
輸入樣例:
2 4
輸出樣例:
15
#include<stdio.h>
int main()
{
int m,n,i,j;
int count = 1;
int sum = 0;
int flag=0;
scanf("%d %d", &n, &m); //輸入0,200之間的數(shù)嘉赎,當(dāng)然也可以用循環(huán)來(lái)限制
for(i=2; ;i++)
{
flag = 1;
for(j=2;j<i;j++) //判斷是否為素?cái)?shù)
{
if(i%j == 0)
{
flag = 0;
break;
}
}
if(flag == 1 ) //flag非0說(shuō)明此時(shí)i為素?cái)?shù)
{
if(count >= n) //判斷這個(gè)素?cái)?shù)是第n個(gè)或之后的素?cái)?shù)
{
sum += i;
}
count++; //不在不加入sum置媳,但因?yàn)橐彩莻€(gè)素?cái)?shù)所以count+1
}
if(count > m) //若這個(gè)素?cái)?shù)是第m個(gè)之后的素?cái)?shù),則退出循環(huán)
{
break;
}
}
printf("%d", sum);
return 0;
}