计算区间素数和,杨老师正在上《离散数学》课程的“数论”内容,讲授素数的知识。素数又称为质数。一个大于1的整数p是素数,当且仅当p只能被1和自身整除。很显然,2是最小的素数。他想设计一个程序

杨老师正在上《离散数学》课程的“数论”内容,讲授素数的知识。素数又称为质数。一个大于1的整数p是素数,当且仅当p只能被1和自身整除。很显然,2是最小的素数。他想设计一个程序,可以计算整数 m 和 n 之间的所有素数之和。

输入格式:

输入两个整数 m,n, 题目不保证 m≤n,但是保证 0≤m≤20000,0≤n≤20000。

输出格式:

输出 m 和 n 之间的所有素数的和。

输入样例01:

在这里给出一组输入。例如:

10 0

输出样例01:

在这里给出相应的输出。例如:

17

输入样例02:

在这里给出一组输入。例如:

100 200

输出样例02:

在这里给出相应的输出。例如:

3167
#include<stdio.h>
#include<math.h>
int main()
{int sushu(int i);
   int m,n,a,i,s=0;
   scanf("%d%d",&m,&n);
   if(m>n)//排序让小的在前。
   {
       a=m;
       m=n;
       n=a;
   }
   for(i=m;i<=n;i++)
   {
       if(sushu(i)==1)//为1时是素数计入求和
        s+=i;
   }
   printf("%d",s);
    return 0;
}
int sushu(int i)//函数初始为1(真),若不是素数输出0(假)
{
    int j,h=1;
    if(i==1)//单独考虑1,最小素数为2。
    {
    	h=0;
    	return h;
    }
    for(j=2;j<=sqrt(i);j++)
    {
        if(i%j==0)
          h=0;
    }
    return h;
}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值