C语言——pta计算区间素数和

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

输入格式:

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

输出格式:

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

输入样例01:

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

0 10

输出样例01:

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

17

输入样例02:

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

100 200

输出样例02:

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

3167

代码如下: 

#include 
#include 
int prime_numble(int x)//定义函数,判断一个数是否为素数
{
    int i , b = 1;
    int k;
    k = (int)sqrt((double)x);//在2——√x上筛选可以减少运算量
    for (i = 2; i <= k; i++)
    {
        if (x % i == 0)
        {
            b = 0;
        }
    }
    return b;
}
int main()
{
    int m, n;
    int j, a, sum = 0;
    scanf("%d %d",&m,&n);
    if (m > n)//比较m,n的大小;并让m=2
    for (j = m; j <= n; j++)
    {
        if (prime_numble(j) == 1)
            sum += j;
    }
    printf("%d",sum);
    return 0;
}

如有不妥之处,欢迎各位大佬指正!

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