MOOC 素数和的c语言实现
浙江大学翁恺程序设计入门——C语言
题目内容:
我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。
现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
输入格式:
两个整数,第一个表示n,第二个表示m。
输出格式:
一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
#include <stdio.h>
int main()
{
int pure1=0;
int pure2=0;
int number1=0;
int number2=0;
int number3=0;
int number4=0;
int number5=0;
int number6=0;
int i=0;
int rank=0;
int rank2=0;
int x1=0;
int cnt=0;
int is=0;
int is1=0;
int is2=0;
int sum=0;
scanf("%d %d",&pure1,&pure2);
for(number3=2,is1=0;(is1==1||is1==2||is1==0)&&rank<pure1;number3++){
for(number4=2;number4<number3;number4++){
if(number3%number4==0){
is1=1;
break;
}else {
is1=2;
}
}if(is1==2||is1==0){
rank++;
}
}number1=number3-1;
for(number5=2,is2=0;(is2==1||is2==2||is2==0)&&rank2<pure2;number5++){
for(number6=2;number6<number5;number6++){
if(number5%number6==0){
is2=1;
break;
}else {
is2=2;
}
}if(is2==2||is2==0){
rank2++;
}
}number2=number5-1;
for(i=number1;i<=number2;i++){
for(cnt=2;cnt<i;cnt++){
if(i%cnt==0){
is=1;
break;
}
}if(is==0&&i!=1){
sum+=i;
}else{
is=0;
}
}
printf("%d",sum);
return 0;
}
初学c语言的一只菜鸡,望指教。