首页 > 其他分享 >用c语言来计算素数和

用c语言来计算素数和

时间:2024-11-12 12:43:31浏览次数:3  
标签:语言 int sum 素数 num 计算 该数 输入

#include <stdio.h>

int isPrime(int num) {

    if (num < 2) {

        return 0; // 小于 2 的数不是素数

    }

    for (int i = 2; i * i <= num; i++) {

        if (num % i == 0) {

            return 0;

        }

    }

    return 1;

}

int main() {

    int num, sum = 0;

    scanf("%d", &num);

    while (num!= 1) {

        if (isPrime(num)) {

            sum += num; 

        }

        scanf("%d", &num);

    }

    printf("%d\n", sum);

    return 0;

}

 

以下是对这段 C 语言代码的分析:

一、功能描述

这段代码用于计算输入的一系列整数中所有素数的和,直到输入的数为 1 时停止计算并输出结果。

二、函数部分

1.  isPrime 函数:

- 功能:判断一个整数是否为素数。

- 实现方式:

- 首先判断输入的数是否小于 2,小于 2 的数不是素数,直接返回 0。

- 然后从 2 开始遍历到该数的平方根,如果在这个范围内存在一个数能整除输入的数,说明该数不是素数,返回 0。

- 如果遍历完都没有找到能整除的数,说明该数是素数,返回 1。

三、主函数部分

1. 变量定义:

-  int num 用于存储用户输入的整数。

-  int sum = 0 用于累加输入的素数。

2. 获取输入并循环判断:

- 通过 scanf("%d", &num); 获取第一个输入的整数。

- 进入 while (num!= 1) 循环,只要输入的数不为 1,循环就会继续。

- 在循环中,调用 isPrime(num) 函数判断当前输入的数是否为素数,如果是素数,则将该数累加到 sum 中。

- 再次通过 scanf("%d", &num); 获取下一个输入的整数,继续循环判断。

3. 输出结果:

- 循环结束后,输出 sum 的值,即输入的所有素数的和。

 

标签:语言,int,sum,素数,num,计算,该数,输入
From: https://blog.csdn.net/2401_87723168/article/details/143633942

相关文章

  • lec 02 arm汇编语言基础
    Lecture02:ARM汇编基础Contents为什么学习ARM/ISA汇编从C到汇编理解arm汇编理解机器执行1为什么学习汇编和指令集架构?1.令人困惑的应用表现2.指令集架构ISA(InstructionSetArchitecture)CPU向软件(应用程序和操作系统)提供的接口。理解软件在CPU上的运行(OS设......
  • 基础数据结构【c语言版】之 “图” 详细讲述
    别忘了请点个赞+收藏+关注支持一下博主喵!!!1. 图的定义和术语1.1图的定义**图(Graph)**是由顶点(Vertex)和边(Edge)组成的一个集合,可以表示顶点之间的关系。通常,图可以表示为G=(V,E)G=(V,E)G=(V,E),其中:VVV是顶点集合,表示图中的所有顶点。EEE是边集合,表示图中顶点之间的连接......
  • 就是这个样的粗爆,手搓一个计算器:角度单位换算计算器
        作为程序员,没有合适的工具,就得手搓一个,PC端,移动端均可适用。废话不多说,直接上代码。HTML:<divclass="calculator"><labelfor="inputValue">输入角度值:</label><inputid="inputValue"type="number"placeholder="请输入数值">&......
  • 自然语言处理:第六十章 text2vec 如何选择 chunksize 和 splitter?
    本人项目地址大全:Victor94-king/NLP__ManVictor:CSDNofManVictor项目地址:HuixiangDou/README_zh.mdatmain·InternLM/HuixiangDou写在前面:笔者更新不易,希望走过路过点个关注和赞,笔芯!!!写在前面:笔者更新不易,希望走过路过点个关注和赞,笔芯!!!写在前面:笔者......
  • 施耐德UNITY下使用ST编程计算最近一小时的均值
    昨晚学习练习了ST语言做最近60秒的分钟均值,今天继续做最近一小时的均值,1秒采集一次数据。在昨晚程序上增加功能,新建一个导出的功能块类型Average_Hour,定义下面的变量:旗下新建一个程序段Average_Hour,使用ST编程Minute1:=BCD_TO_INT(%SW51);Minute:=mod_int(Minute1,100);Second1......
  • Springboot计算机毕业设计简易云在线人事管理系统q5hx6
    Springboot计算机毕业设计简易云在线人事管理系统q5hx6本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能:员工,我的周报,公告信息,经理,我的便签,通讯录,部门信息,职位信息,请假申请,加班申请,出差申请......
  • Springboot计算机毕业设计健康管理信息系统2ikkm
    Springboot计算机毕业设计健康管理信息系统2ikkm本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能:用户,健康管理师,咨询信息,体检套餐,预约信息,普通报告,普通评估,内科报告,内科评估,外科报告,外科评......
  • Springboot计算机毕业设计基于血库系统sb99z
    Springboot计算机毕业设计基于血库系统sb99z本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能:血库,血型,血库入库,血库出库,血库管理员开题报告内容一、项目背景与意义随着医疗技术的不断进步,血液......
  • 模拟鼠标真人移动轨迹算法-易语言
    一.简介鼠标轨迹算法是一种模拟人类鼠标操作的程序,它能够模拟出自然而真实的鼠标移动路径。鼠标轨迹算法的底层实现采用C/C++语言,原因在于C/C++提供了高性能的执行能力和直接访问操作系统底层资源的能力。鼠标轨迹算法具有以下优势:模拟人工轨迹:算法能够模拟出非贝塞尔曲线......
  • 【计算机网络】设备如何监听 ARP 请求广播
    在网络通信中,**ARP(地址解析协议)**用于将网络层的IP地址解析为链路层的物理地址(MAC地址)。当一个设备需要发送IP数据包时,它需要知道目标设备的MAC地址,这时它会发送一个ARP请求。ARP请求通常是一个广播帧,所有在同一局域网内的设备都会接收到这个请求。设备如何监听......