询文


私信TA

用户名:OX64

访问量:10752

签 名:

授人以鱼,不如授人以渔

等  级
排  名 2333
经  验 2352
参赛次数 1
文章发表 12
年  龄 0
在职情况 在职
学  校
专  业

  自我简介:

规则之下,任尔跋扈!

解题思路:

1、写个函数判断是否是素数

2、最小素数是2

注意事项:

参考代码:

//最小素数为2 
#include "stdio.h"
#include "math.h"
int isprime(int x){
    //x能够i整除(除自身外),i的最大值只能是x的开方,往上就不可能了
    //开方后,可以减少循环次数 
    for(int i=2;i<=sqrt(x);i++){  
        if(x%i==0){ //只有能被一个整除就不是素数 
            return 1;
        }
    }
    return 0; //素数 
}
main(){
    int m,n,sum=0;
    scanf("%d %d",&m,&n); 
    //下面最好加一个判断m和n大小的语句,如果m>n,直接重新输入,但题目不要就不写了 
    for(int i=m;i<=n;i++){
        if(i==2||i==3){
            sum+=i;
        }
        else if(i>3&&isprime(i)==0)//需要大于3才进入isprime函数判断是否是素数 
            sum+=i;
    }
    printf("%d\n",sum); //输出m~n间(包括m、n)素数之和 
    return 0;
}


 

0.0分

0 人评分

  评论区

  • «
  • »