`
webcenterol
  • 浏览: 951160 次
文章分类
社区版块
存档分类
最新评论

各种基本算法实现小结(七)—— 常用算法

 
阅读更多

各种基本算法实现小结(七)—— 常用算法

(均已测试通过)

======================================================================

1、判断素数

测试环境:VC 6.0 (C)

运行结果:

==========================================================

2、 求2-1000之间的所有素数

测试环境:VC 6.0 (C)

运行结果:

==========================================================

3、 验证哥德巴赫猜想

哥德巴赫猜想: 任意一个大于等于6的偶数都可以分解为两个素数之和

如: 6 = 3+3;100 = 3+97=11+89; 1000 = 3+997=59+941=。。。

测试环境:VC 6.0 (C)

运行结果:

==========================================================

4、 求最大公约数(GCD)和最小公倍数(LCM)

测试环境:VC 6.0 (C)

运行结果:

==========================================================

5、统计个数(数字)

用随机函数产生100个[0,99]范围内的随机整数,

统计个位上的数字分别为0,1,2,3,4,5,6,7,8,9的数的个数并打印出来

测试环境:VC 6.0 (C)

运行结果:

==========================================================

6、统计个数(数字、字符、其它字符)

输入一行字符,统计其中有多少个数字、字符和其它字符

测试环境:VC 6.0 (C)

运行结果:

==========================================================

7、 数制转换(递归实现)

本算法仅实现了基数为2-16的数制转换

如果大家希望扩展范围,仅需要对基数表示字符case 进行扩展即可,如G、H、I ...

测试环境:VC 6.0 (C)

运行结果:

算法改进

数制直接转为字符输出,扩展支持16进制以上的数制转换

运行结果 (扩展进制):

100 = 4*24+4 1000=1*24*24+17*24+16 10000=17*24*24+8*24+16 1000=27*36+28

==========================================================

8、 数制转换(栈实现)


核心思想和递归实现类似,都是压栈的原理,实现较简单,请自己尝试实现

==========================================================

9、 水仙花数

水仙花数简述: 水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。

如:153=1 ^3+5 ^3+3 ^3(3位数);1634=1 ^4+6 ^4+3 ^4+4 ^4(4位数);54748=5 ^5+4 ^5+7 ^5+4 ^5+8 ^5(5位数)

判断任一3位数,是否为水仙花数

测试环境:GCC

运行结果 (Redhat Linux):

================================================

求4位数的水仙花数(1000<=X<=9999)

测试环境:VC 6.0 (C)

运行结果:

================================================

思考: 如果求得高精度大数的水仙花数,如8位、18位、28位的水仙花数(需考虑计算机精度,可采用数组或指针实现,大数计算)

==========================================================

10、 大数计算

大数运算 :参加的值和计算结果通常是以上百位数,上千位数以及更大长度之间的整数运算,早已超出了计算机能够表示数值的精度范围(2^32=4294967296或2^64=18446744073709551616)即64位机最大也才20位,因此需要想出其它的办法计算大数。

求任意两整数之和(1000位以内)

测试环境:VC 6.0 (C)

运行结果:

思考: 请大家自己设计实现更复杂的大数减法、乘法、除法,求余、求幂、求最小公倍数等大数运算(提示:可用数组或链表)

==========================================================

分享到:
评论

相关推荐

    程序员实用算法——源码

     5.7 小结:选择一种排序算法  5.8 资源和参考资料 第6章 树  6.1 二叉树  6.1.1 树查找  6.1.2 节点插入  6.1.3 节点删除  6.1.4 二叉查找树的性能  6.1.5 AVL树  6.2 红黑树  6.3 伸展树  ...

    常用排序算法小结(附Java实现)

    这篇博客“常用排序算法小结(附Java实现)”提供了一种深入理解并掌握常见排序算法的途径,尤其对于Java开发者来说非常实用。文章可能涵盖了如冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等多种经典...

    最短路径算法——Dijkstra算法

    Dijkstra算法的基本思想是从源结点开始,逐步扩展到网络中的其他结点,寻找从源结点到每个结点的最短路径。该算法的输入是整个网络拓扑和各链路的长度,输出是从源结点到每个结点的最短路径和距离。 算法的步骤如下...

    算法设计与分析PPT(C语言完整版)

    5.6 图的搜索算法小结 习题 第四篇应用篇 第6章算法设计实践6.1循环赛日程表 6.2求3个数的最小公倍数 6.3猴子选大王 6.4最大子段和问题 6.5背包问题 6.5.1与利润无关的背包问题 6.5.2与利润有关的背包问题

    算法基本逻辑结构——循环结构(教案)借鉴.pdf

    **算法基本逻辑结构——循环结构** 在计算机科学和信息技术领域,算法是解决问题的关键步骤,而循环结构是算法设计中不可或缺的一部分。本节课我们将深入探讨循环结构的概念及其在实际生活中的应用。 **一、循环...

    基于蚁群算法和神经网络匹配算法的停车场系统建模仿真-自动化综合设计报告————停车场停车系统设计与仿真.zip

    大三小结,大四将开启。小弟愿意贡献出这一学期完成的自动化综合设计课题成果——《智能停车场停车系统建模与仿真》。其中matlab仿真:用蚁群算法求解车位最优路径,用神经网络匹配算法求解车牌号提取;单片机仿真用...

    C/C++常用算法手册.秦姣华(有详细书签).rar

    《C/C++常用算法手册》分3篇,共13章,“第1篇算法基础篇”介绍了算法概述,重点分析了数据结构和基本算法思想;“第2篇算法基本应用篇”详细讲解了算法在排序、查找、数值计算、数论、经典趣题和游戏中的应用;“第...

    各种经典排序算法小结---必知必会

    ### 各种经典排序算法小结---必知必会 #### 概述 排序算法是计算机科学中的一个重要组成部分,主要用于将一系列数据按照特定顺序(升序或降序)进行排列。排序算法的学习对于理解算法复杂度、算法设计原理以及提高...

    利用bresenham算法实现画图程序

    本实验旨在深入探索图形学领域中的基础算法——Bresenham算法,并通过实践应用,实现画图程序的开发。Bresenham算法是一种用于绘制直线、圆等二维图形的高效算法,尤其在计算机图形学和图像处理中具有广泛的应用。...

    算法设计与分析小论文

    ### 算法设计与分析小论文 #### 1. 算法与数据结构 在算法设计领域,数据结构的选择对于算法效率至关重要。本文通过一个具体的实例——计算N!的准确值,来探讨如何有效地处理大整数的存储与运算。 **1.1 大整数...

    数据结构与算法分析

     小结   练习   参考文献  第2章 算法分析   2.1 数学基础   2.2 模型   2.3 要分析的问题   2.4 运行时间计算   2.4.1 一个简单的例子   2.4.2 一般法则   2.4.3 最大子序列...

    生产排程之启发式算法

    #### 三、小结 本书通过详细介绍元启发式算法在生产排程问题中的应用案例,为读者提供了一个系统性的学习平台。从理论到实践,从算法设计到实验验证,本书都做了详尽的阐述。对于从事生产管理、工业工程等相关领域...

    用python算卦——银钱演算法

    代码部分2.1运行效果小结 1.项目说明 本学期有一门课呢,叫做周易与决策咨询。 那因为疫情,上的是网课。 有个视频我看了以后对周易的这种占卜之术还挺感兴趣的。 视频里的刘大师呢,用了蓍草法,银钱法。 银钱法是...

    20080312高一数学(1-1算法初步单元小结).ppt

    《算法初步单元小结》是针对高中数学第一单元——算法初步的一个综合总结,涵盖了算法的基本概念、程序框图、常用算法及其表示方法。本单元旨在培养学生理解和应用算法解决问题的能力,为后续的数学学习和计算机科学...

    贪心算法——最小生成树Prim

    了解学习

    严蔚敏 数据结构(C语言版) 代码 23490 书中算法

    1.5 小结 15 习题 16 第2章 线性表 18 2.1 线性表的类型定义 18 2.1.1 线性表的定义和特点 18 2.1.2 线性表的抽象数据类型定义 18 2.2 线性表的顺序表示和实现 19 2.2.1 线性表的顺序存储表示 19 ...

    数据结构与算法分析Java语言描述(第二版)

    不相交集类8.1 等价关系8.2 动态等价性问题8.3 基本数据结构8.4 灵巧求并算法8.5 路径压缩8.6 路径压缩和按秩求并的最坏情形8.7 一个应用小结练习题参考文献第9章 图论算法9.1 若干定义9.2 拓扑排序9.3 最短路径...

    python小游戏大全——30个

    在这个"Python小游戏大全——30个"的压缩包中,包含了30个使用Python编写的各类游戏源码,旨在帮助学习者通过实践提升Python编程技能,理解编程逻辑,同时增加编程的乐趣。 首先,我们可以从这些游戏类型上学习到...

    图论算法-最小生成树

    本次将详细解析一个特定的图论算法——最小生成树算法,具体而言,我们将深入探讨一种名为Prim算法的实现方式,并结合给定代码片段进行分析。 ### 图论算法-最小生成树 #### 最小生成树概念 最小生成树(Minimum ...

    数据结构与算法分析_Java语言描述(第2版)]

    不相交集类8.1 等价关系8.2 动态等价性问题8.3 基本数据结构8.4 灵巧求并算法8.5 路径压缩8.6 路径压缩和按秩求并的最坏情形8.7 一个应用小结练习题参考文献第9章 图论算法9.1 若干定义9.2 拓扑排序9.3 最短路径算法...

Global site tag (gtag.js) - Google Analytics