当前位置: 首页 > news >正文

【时时三省】(C语言基础)简单的算法举例

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省

判定2000—2500年中的每一年是否为闰年,并将结果输出。

本先分析闰年的条件:

(1)能被4整除,但不能被100整除的年份都是闰年,如1996年、2008年、2012年s2048年是闰年;

(2)能被400整除的年份是闰年,如1600年、2000年是闰年。

不符合这两个条件的年份不是闰年。例如2009年、2100年不是闰年。

设year为被检测的年份。算法可表示如下:

S1:2000→year

S2:若year不能被4整除,则输出year的值和“不是闰年”。然后转到S6,检查下一个年份

S3:若year能被4整除,不能被100整除,则输出year的值和“是闰年”。然后转到S6

S4 :若year能被400整除,输出year的值和“是闰年”,然后转到S6

S5:输出year的值和“不是闰年”

S6:year+1=year

S7:当year<=2500时,转S2继续执行,否则算法停止。

在这个算法中,采取了多次判断。先判断year能否被4整除,如不能,则year必然不是闰年。如year能被4整除,并不能马上决定它是否闰年,还要检查它能否被100整除。如不能被100整除,则肯定是闰年(例如2008年)。如能被100整除,还不能判断它是否闰年,还要检查它能否被400整除,如果能被400整除,则是闰年;否则不是闰年。

在这个算法中,每做一步,都分别分离出一些范围(已能判定为闰年或非闰年),逐步缩小范围,使被判断的范围愈来愈小,直至执行S5时,只可能是非闰年。

考虑算法时,应当仔细分析所需判断的条件,如何一整除,又能但不能被100步一步缩小检查判断的范围。对有的问题,判断的先后次整除被400整除序是无所谓的;而有的问题,判断条件的先后次序是不能闰年闰年任意颠倒的,读者可根据具体问题决定其逻辑。

给出一个大于或等于3的正整数,判断它是不是一个素数。

解题思路:所谓素数( prime ),是指除了1和该数本身之外,不能被其他任何整数整除的数。例如,13是素数,因为它不能被2,3,4,…,12整除。

判断一个数n ( n > 3 )是否为素数的方法是很简单的:将n作为被除数,将2 ~ ( n-1 )的计算各个整数先后作为除数,如果都不能被整除,则n为素数。

算法可以表示如下:

S1:输入n的值

S2 : i = 2 ( i作为除数)

S3 : n被i除,得余数r

S4:如果r = 0,表示n能被i整除,则输出n“不是素数”,算法结束;否则执行S5

S5 : i +1→i

S6:如果i<=n-1,返回S3;否则输出n的值以及“是素数”,然后结束

实际上,n不必被2 ~ ( n-1 )的整数除,只须被2 ~ n / 2的整数除即可,甚至只须被2 ~法n的整数除即可。例如,判断13是否为素数,只须将13被2和3除即可,如都除不尽,n必图为素数。

S6步骤可改为

S6:如果i<=√n,返回S3;否则算法结束

相关文章:

  • leetcode-495.提莫攻击
  • 或非门组成的SR锁存器真值表相关问题
  • LLM:GPT 系列
  • C#关于静态关键词static详解
  • vue 文件下载(导出)excel的方法
  • 【Elasticsearch】运行时字段(Runtime Fields)索引时定义运行时字段
  • EtherNetIP转ModbusTCP网关,给风电注入“超级赛亚人”能量
  • flutter ListView 局部刷新
  • 相得益彰,Mendix AI connector 秒连DeepSeek ,实现研发制造域场景
  • 在WPS中通过JavaScript宏(JSA)调用本地DeepSeek API优化文档教程
  • Jenkins 新建配置 Freestyle project 任务 六
  • 力扣142题——环形链表II
  • 项目中菜单按照层级展示sql
  • 大疆无人机需要的kml文件如何制作kml导出(大疆KML文件)
  • 【微服务】SpringBoot 整合Redis Stack 构建本地向量数据库相似性查询
  • deepseek的CoT优势、两阶段训练的有效性学习笔记
  • Vulhub靶机 ActiveMQ任意 文件写入(CVE-2016-3088)(渗透测试详解)
  • oracle表分区--范围分区
  • 利用prompt技术结合大模型对目标B/S架构软件系统进行测试
  • 今日AI和商界事件(2025-02-14)
  • 五一小长假,带着小狗去上海音乐厅
  • 五一假期上海推出首批16条“市民健康路线”,这些健康提示请收好
  • 船只深夜撞上海上风机后沉没1死1失踪,调查报告公布
  • 人到中年为何腰围变粗?科学家发现腹部脂肪增加的细胞元凶
  • 人民日报评论员:汇聚起工人阶级和广大劳动群众的磅礴力量
  • 日月谭天丨赖清德强推“脱中入北”是把台湾带向死路