C语言如何使用函数求素数和举例

 更新时间:2022年11月23日 15:23:04   作者:枕绵  
素数又称质数,所谓素数是指除了1和它本身以外,不能被任何整数整除的数,下面这篇文章主要给大家介绍了关于C语言如何使用函数求素数和的相关资料,需要的朋友可以参考下

本题要求实现一个判断素数的简单函数、以及利用该函数计算给定区间内素数和的函数。素数就是只能被1和自身整除的正整数。

注意:1不是素数,2是素数。

函数接口定义:

int prime( int p );
int PrimeSum( int m, int n );

其中函数prime当用户传入参数p为素数时返回1,否则返回0;函数PrimeSum返回区间[m, n]内所有素数的和。题目保证用户传入的参数m≤n。

裁判测试程序样例:

#include <stdio.h>
#include <math.h>

int prime( int p );
int PrimeSum( int m, int n );

int main()
{
    int m, n, p;

    scanf("%d %d", &m, &n);
    printf("Sum of ( ");
    for( p=m; p<=n; p++ ) {
        if( prime(p) != 0 )
            printf("%d ", p);
    }
    printf(") = %d\n", PrimeSum(m, n));

    return 0;
}

/* 你的代码将被嵌在这里 */

输入样例:

-1 10

输出样例:

Sum of ( 2 3 5 7 ) = 17

int prime( int p )
{
     int ret=1;//先假设p是素数
     if(p>1)//因为最小的素数是2,所以小于2的整数统统不考虑
   {           
        for(int i=2;i<p;i++)
       {
           if(p%i==0)//有数字可以将它整除,说明p不是素数,将ret变成0
           {
               ret=0;
               break;
           }
        }
     }else//小于2的数直接到这个else里,ret变成0,直接淘汰
     {
       ret=0;  
     }
    return ret;
}
int PrimeSum( int m, int n )
{
    int sum=0;
    for(int i=m;i<=n;i++)
    {
        if(prime(i))//如果i是素数的话prime(i)==1
        {
            sum+=i;
        }
    }
    return sum;
}

道行不够,这题想了好久,后面仔细想了一下素数的性质(正整数,最小的素数为2)才搞出来,数学渣叹气o(╥﹏╥)o,而且我发现这里的头文件有昨天的#include <math.h>,是不是会有哪个函数能够用来调用呢。。。

总结

到此这篇关于C语言如何使用函数求素数和的文章就介绍到这了,更多相关C语言求素数和内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C++中4种强制类型转换的区别详析

    C++中4种强制类型转换的区别详析

    这篇文章主要给大家介绍了关于C++中4种强制类型转换区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • vs2022项目文件夹内.vs文件夹容量虚高问题的解决

    vs2022项目文件夹内.vs文件夹容量虚高问题的解决

    经常会发现VS的项目文件夹占用空间很大,本文主要介绍了vs2022项目文件夹内.vs文件夹容量虚高问题的解决,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • 详解如何在code block创建一个C语言的项目

    详解如何在code block创建一个C语言的项目

    这篇文章主要介绍了详解如何在code block创建一个C语言的项目,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 基于QT制作一个TCPServer与TCPClient的通信

    基于QT制作一个TCPServer与TCPClient的通信

    这篇文章主要为大家详细介绍了如何基于QT制作一个TCPServer与TCPClient的通信,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-12-12
  • 利用C语言实现http服务器(Linux)

    利用C语言实现http服务器(Linux)

    本文将利用C语言实现一个轻量级的http服务器,使用Reactor模式,即主线程只负责监听文件描述符上是否有事件发生,有的话立即将该事件通知工作线程,感兴趣的可以了解一下
    2022-07-07
  • c/c++实现获取域名的IP地址

    c/c++实现获取域名的IP地址

    本文给大家汇总介绍了使用c/c++实现获取域名的IP地址的几种方法以及这些方法的核心函数gethostbyname的详细用法,非常的实用,有需要的小伙伴可以参考下。
    2015-11-11
  • Linux下控制(统计)文件的生成的C代码实现

    Linux下控制(统计)文件的生成的C代码实现

    这篇文章主要介绍了Linux下控制(统计)文件的生成的C代码实现,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • C语言实现磁盘映射

    C语言实现磁盘映射

    磁盘映射技术通过将文件映射到内存中,提高了文件操作的效率,本文就来介绍一下C语言实现磁盘映射,感兴趣的可以了解一下
    2024-09-09
  • 深入C++ 函数映射的使用详解

    深入C++ 函数映射的使用详解

    我比较喜欢用代码结合实际来讲解,下面我将以一段事例代码来讲解如何使用这几种映射
    2013-07-07
  • 使用C语言实现12种排序方法

    使用C语言实现12种排序方法

    这篇文章主要介绍了用C语言完整实现12种排序方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12

最新评论