函数那些题 — P1

简介: 函数那些题 — P1

1、 写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输人

解法一:该题直接使用“试数法”来求解最大公约数和最小公倍数


最大公约数找出两数中的最小值,然后直接相模,当能够同时被两数整除时则为最大公约数。

最小公倍数找出两数中的最大值,然后直接进入死循环,直到找到一个数能够同时被两数整除时,则为最小公倍数

再将这两部分分别用两个函数实现封装,注意在main函数里要记得声明

GCD,LCM是最大公约数和最小公倍数的首字母缩写  


代码及运行结果如图:

解法二:利用辗转相除法”和公约数和公倍数定理解题

最小公倍数 = 两数之积 / 最大公约数

2、写一个判素数的函数

素数是一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做素数


该题可以使用概念直接判断法求解,不过不需要判断所有的数据,只需要判断数据的一半即可


为什么?


因为只要一个数,我们对它左边的一半随意找一个数能把这个数除尽,右边一定也可以


右边一半数相当于都是左边一半的二倍


我们把中位数前的一半数称为第一段,后一半称为第二段;我们仔细分析之后可以发现:


       第二段数均小于中位数的二倍,而能被除1外数字整除,这个除数最小是2,因此我们知道如果中位数前都没有满足除1外的除数能把这个数整除,那么我们后半段就不会再出现除数了。

3、写一个函数,使给定的一个3X3的二维整型数组转置,即行列互换

进行数组的行列互换,其关键在于数组互换的表达式ar[i] [j] = ar[j] [i];其次在循环的时候,内层循环不能到达最大列,需要根据此时是第几行的交换来决定循环的次数,否则有可能数组行列交换之后最后又交换回原来的形状了。

4、写一个函数,输人一个4位数字,要求输出这4个数字字符,但每两个数字间空一个空格。如输人1990,应输出“1 9 9 0”

对字符串进行遍历输出,每输出一个字符,后面就跟着输出一个空格,关键点在于如果输出的是最后一个字符,则不能再输出字符,所以要对是否是最后一个字符的输出进行判断。

5、用递归方法求n阶勒让德多项式的值,递归公式为

递归函数的设计,有一个点非常重要,那就是必须要有返回条件,,此题中的返回条件即为 n==0 和n==1时,因为当 n 为这两值时,程序直接返回相应的值,只有 n>=1 时,才进行递归运算。

N-S图如下:

后记:

●由于作者水平有限,文章难免存在谬误之处,敬请读者斧正,俚语成篇,恳望指教!

                                                              ——By 作者:天空の乌托邦

相关文章
|
存储 Java Linux
10分钟入门Flink--安装
本文介绍Flink的安装步骤,主要是Flink的独立部署模式,它不依赖其他平台。文中内容分为4块:前置准备、Flink本地模式搭建、Flink Standalone搭建、Flink Standalong HA搭建。
10分钟入门Flink--安装
|
SQL 存储 JSON
SQL,解析 json
SQL,解析 json
223 8
|
数据安全/隐私保护
3分钟部署 七日杀(7DaysToDie)联机服务
通过计算巢快速部署 七日杀 联机服务。
3分钟部署 七日杀(7DaysToDie)联机服务
python+Pycharm+selenium操作浏览器(Chorme或Edge)
python+Pycharm+selenium操作浏览器(Chorme或Edge)
585 1
|
运维 Kubernetes 前端开发
云效产品使用报错问题之部署主机上的globalParams.sh中变量的值是base64编码过的,如何解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
存储 Java 数据库连接
深入探索Hibernate与JPA:Java对象与数据库表的桥梁
【6月更文挑战第25天】Java ORM如Hibernate和JPA简化了数据库交互。在电商系统案例中,JPA注解如`@Entity`、`@Table`、`@Id`定义了对象-表映射。Hibernate利用这些定义实现持久化,如`Session.save()`保存用户对象至数据库,降低了复杂性并提升了开发效率。
168 0
|
IDE 区块链 开发工具
智能合约开发环境搭建及Hello World合约
智能合约开发环境搭建及Hello World合约
|
JSON 前端开发 JavaScript
SKU商品信息录入思路以及代码具体实现 - Springboot+AngularJS
SKU=Stock Keeping Unit(库存量单位),即库存进出计量的单位,可以是以件,盒,托盘等为单位。SKU这是对于大型连锁超市DC(配送中心)物流管理的一个必要的方法。当下已经被我们引申为产品统一编号的简称,每种产品均对应有唯一的SKU号。
606 0
SKU商品信息录入思路以及代码具体实现 - Springboot+AngularJS
|
缓存 NoSQL Java
最详细 | redis实战:JackSon/FastJson方式序列化深度解析
Jackson2JsonRedisSerializer和FastJsonRedisSerializer的实战应用
4855 0
斐波那契数列--别样的解法--O(N)
在使用递归来求斐波那契数列时,可以发现,在这个过程中我们重复计算了一些值,如下图所示,很多值都计算过了,但在递归过程我们没有做其他的操作,所以就只能重复的算下去,那如果我们将计算的值保存下来,在进行递归时能够查找到计算过的值,就直接调用而不用重复的计算了
斐波那契数列--别样的解法--O(N)