【题目2】 大衍数列,斐波拉契数列等,用VBA 和python解决

目录

0 原始题目:大衍数列

0.1 原始题目

0.2 知识点

1 大衍数列

1.1 大衍数列定义

1.1.1 大衍数列定义

1.1.2 大衍数列注意点

1.2 用VBA实现大衍数列

1.3 用python实现大衍数列

2 斐波拉契数列 /兔子数列/ 黄金分割数列

2.1 斐波拉契数列定义

2.1.1 下面来自百度百科

2.1.2 斐波那契数列注意点

2.2 斐波那契数列,用VBA解题

2.3 斐波那契数列,用python解题

3 其他常见有意思的数列题目 (暂存资料备忘)


0 原始题目:大衍数列

0.1 原始题目

大衍数列-蓝桥杯-基础-CSDN算法技能树CSDN大衍数列社区,大衍数列论坛,为中国软件开发者打造学习和成长的家园https://edu.csdn.net/skill/algorithm/algorithm-12a6edfcdbb9460d8ec505301b388717?category=188

贡献者:CSDN-Ada助手

中国古代文献中,曾记载过“大衍数列”, 主要用于解释中国传统文化中的太极衍生原理。

它的前几项是:0、2、4、8、12、18、24、32、40、50 …

其规律是:对偶数项,是序号平方再除2,奇数项,是序号平方减1再除2。

以下的代码打印出了大衍数列的前 100 项。

请填补空白处的内容。

#include <stdio.h>
int main()
{int i;for (i = 1; i <= 100; i++){if (__________________)printf("%d ", i * i / 2);elseprintf("%d ", (i * i - 1) / 2);}printf("\n");
}

0.2 知识点

VBA里

  • 除法,/ ,获得商,总是浮点数
  • 取余,  mod ,获得余数
  • 整除,\ 反斜杠,获得商的整数部分

python里

  • 除法,/ ,获得商的精确值,总是浮点数
  • 取余, % ,获得余数
  • 整除,//,获得商的整数部分

1 大衍数列

1.1 大衍数列定义

1.1.1 大衍数列定义

中国古代文献中,曾记载过“大衍数列”, 主要用于解释中国传统文化中的太极衍生原理。

它的前几项是:0、2、4、8、12、18、24、32、40、50 …

其规律是:对偶数项,是序号平方再除2,奇数项,是序号平方减1再除2。

1.1.2 大衍数列注意点

  • 注意大衍数列是从1开始,而不是从0开始

1.2 用VBA实现大衍数列

VBA代码

Function dayan1(n)   '大衍数列If n Mod 2 = 0 Thendayan1 = (n * n) / 2Elsedayan1 = (n * n - 1) / 2End If
End Function'输出第几个
Sub test3()Debug.Print dayan1(5)
End Sub'输出前n个
Sub test4()For i = 1 To 10Debug.Print dayan1(i);Next i
End Sub

测试

1.3 用python实现大衍数列

  • 注意大衍数列是从1开始,而不是从0开始
def dayan1(n):if n % 2==0:return (n**2)/2  else:return (n**2-1)/2 
#输出单个值
print(dayan1(5))#输出整个序列
#for i in range(11):               #这样会包含0,不适合大衍数列
#for i in [1,2,3,4,5,6,7,8,9,10]:  #这样不包含0
for i in range(1 , 11):            #这样不包含0  print(dayan1(i),end=",")

2 斐波拉契数列 /兔子数列/ 黄金分割数列

2.1 斐波拉契数列定义

2.1.1 下面来自百度百科

斐波那契数列,也称为黄金分割数列或兔子数列,是一个著名的数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入。这个数列的特点是从第三项开始,每一项都等于前两项之和。其递推关系为F(0)=1,F(1)=1,F(n)=F(n-1)+F(n-2),其中n≥2且n为自然数。

斐波那契数列在数学、物理、计算机科学等领域有着广泛的应用,其与黄金分割率密切相关,因此在艺术和自然界中也有所体现。例如,许多植物的生长模式、花朵的花瓣数量、甚至自然界中一些贝壳的纹理都体现了斐波那契数列的规律。

2.1.2 斐波那契数列注意点

  • 注意斐波那契数列是从0开始,而不是从1开始
  • 斐波那契数列是兔子数列,前2个数都是1,而不是0,1

2.2 斐波那契数列,用VBA解题

VBA代码

Function Fibonacci1(n)   'Fibonacci1数列,兔子数列If n = 1 ThenFibonacci1 = 1ElseIf n = 2 ThenFibonacci1 = 1ElseFibonacci1 = Fibonacci1(n - 1) + Fibonacci1(n - 2)End If
End Function'输出第几个
'列出斐波拉契的第n个内容
Sub test1()Debug.Print Fibonacci1(5)
End Sub'输出前n个
'列出斐波拉契的第n为止的全部内容
Sub test2()For i = 1 To 10Debug.Print Fibonacci1(i);Next i
End Sub

测试情况

2.3 斐波那契数列,用python解题

python代码

注意点

  • 函数返回值
  • python使用return
  • fibonacci1=n 这是VBA写法

def fibonacci1(n):if n<=1:return 1 else:return fibonacci1(n-1)+fibonacci1(n-2) #输出单个值
print(fibonacci1(5))#输出整个序列
for i in range(11):print(fibonacci1(i),end=",")

测试情况

3 其他常见有意思的数列题目 (暂存资料备忘, 太多了。。。)

问的C站的AI

当谈到著名的数列时,以下是10个常见的数列:

  1. 斐波那契数列:每个数字是前两个数字之和,起始于0和1(0, 1, 1, 2, 3, 5, 8, 13, 21, 34…)。

  2. 等差数列:每个数字与前一个数字之间的差值相等(例如:1, 3, 5, 7, 9…)。

  3. 等比数列:每个数字与前一个数字之间的比值相等(例如:2, 4, 8, 16, 32…)。

  4. 质数数列:仅包含质数(素数)的数列(例如:2, 3, 5, 7, 11, 13, 17, 19, 23…)。

  5. 平方数数列:每个数字是一个完全平方数(例如:1, 4, 9, 16, 25, 36, 49, 64, 81…)。

  6. 等差平方数数列:每个数字是一个等差数列中的完全平方数(例如:1, 4, 9, 16, 25, 36, 49…)。

  7. 卡塔兰数列:用于计算组合问题的数列(例如:1, 1, 2, 5, 14, 42, 132…)。

  8. 自然对数数列:每个数字是自然对数的递增序列(例如:0, 1, 2.71828, 4.71828, 6.71828…)。

  9. 调和数列:每个数字是调和级数的递增序列(例如:1, 1.5, 1.83333, 2, 2.28333…)。

  10. 斯特灵数列:用于近似计算阶乘的数列(例如:1, 1.5, 1.66667, 1.875, 2…)。

递推数列

递推数列是可以递推找出规律的数列,找出这个规律的通项式就是解递推数列。求递推数列通项公式的常用方法有:公式法、累加法、累乘法、待定系数法等共十种方法。

问题三:猴子分桃 1979年,李政道博士给中国科技大学少年班出过一道智趣题: 5只猴子分一堆桃子,怎么也不能分成5等份,只好先去睡觉,准备第二天再分。夜里1只猴子偷偷爬起来,先吃掉一个桃子,然后将其分成5等份,藏起自己的一份就去睡觉了;第2只猴子又爬起来,吃掉一个桃子后,也将桃子分成5等分,藏起自己的一份睡觉去了;以后的3只猴子都先后照此办理。问最初至少有多少个桃子?最后至少剩下多少个桃子?

汉诺塔

3、Look-and-say 数列

Look-and-say 数列是数学中的一种数列,它的名字就是它的推导方式:给定第一项之后,后一项是前一项的发音。

4、帕多瓦数列

帕多瓦数列是由帕多瓦总结而出的。它的特点为从第四项开始,每一项都是前面2项与前面3项的和。

5、卡特兰数

卡特兰数是组合数学中一个常出现在各种计数问题中的数列。以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)的名字来命名。

卡特兰数是组合数学中一个常出现于各种计数问题中的数列。以中国蒙古族数学家明安图和比利时数学家欧仁·查理·卡特兰的名字命名,其前几项为(从第0项开始):1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, 6564120420, 24466267020, 91482563640, 343059613650, 1289904147324, 4861946401452, ...
卡特兰数满足以下递推关系 [2]:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/2766.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】Kill Process 后依然占用显卡空间并显示 No Such Process

问题 &#xff1a; 如图所示&#xff0c;在显卡上使用 Crtl C 结束某个进程后&#xff0c;使用 nvitop 工具或者 nvidia-smi 命令&#xff0c;显示 No Such Process&#xff0c;但是确占用着显卡空间。搜索这个 PID 时&#xff0c;也显示找不到。 解决&#xff1a;实际上是因为…

BUUCTF——[网鼎杯 2018]Fakebook

BUUCTF——[网鼎杯 2018]Fakebook 1.测试SQl注入的注入点1 2.尝试使用-- -进行闭合&#xff0c;但是不行 3.尝试使用数字型的SQL注入&#xff0c;使用--进行注入后面的SQL语句 4.尝试使用and 11 判断其是否真的存在SQL注入 5.尝试使用and 12进行判断 6.发现这个地方确实存…

机器学习 | 使用Python开发多输出回归模型

多输出回归是监督机器学习的一种特殊形式&#xff0c;可以同时预测多个目标变量。虽然传统回归侧重于基于一组输入特征预测单个数值&#xff08;目标变量&#xff09;&#xff0c;但多输出回归扩展了这一概念&#xff0c;可以同时预测多个数值&#xff0c;这在各种现实世界的应…

【产研测类】线上问题处理机制

1 概述 本规范致力于优化运营与产研团队在线问题管理的效率与效果&#xff0c;全面覆盖生产问题的识别、处理机制、分类分级、责任归属和明确奖惩机制。同时&#xff0c;侧重资源重点解决主流程关联的核心模块生产问题。如此&#xff0c;确保各个环节责任到人&#xff0c;内…

单细胞分析|整合 scRNA-seq 和 scATAC-seq 数据

引言 单细胞转录组学极大地提升了对细胞状态进行分类的能力&#xff0c;但要深入理解生物学现象&#xff0c;不能仅仅停留在对细胞群的简单列举上。随着新方法的不断涌现&#xff0c;用于测量细胞的不同状态&#xff0c;一个关键的挑战是如何将这些数据集整合起来&#xff0c;以…

Spring三级缓存源码解析

Spring三级缓存 前置知识三级缓存定义SpringBean生命周期 Bean的初始化getSingleton 分析加入一级缓存 CreateBean过程(A)A填充属性BB填充属性A,执行getSingleton&#xff08;A&#xff09;B完成初始化 前置知识 三级缓存定义 public class DefaultSingletonBeanRegistry ext…

云打印为什么这么便宜?

随着云打印的火热发展&#xff0c;越来越多的用户开始选择云打印服务了。我们在之前的内容里也介绍过&#xff0c;现在的易绘创云打印服务A4低至5分钱/页。那么云打印为什么这么便宜呢&#xff1f;今天小易就带大家来了解一下。 云打印为什么这么便宜&#xff1f; 相信很多用户…

Element-plus DatePicker 日期选择器【正则校验时间范围】

效果图&#xff1a; 利用element-plus中的form表单验证完成效果。 <el-form-item label"检查计划截止日期&#xff1a;" prop"deadline"><el-date-pickerv-model"form.deadline"value-format"YYYY-MM-DD"style"width: …

NAT的知识点和实现

1.NAT的作用&#xff1a; &#xff08;1&#xff09;、把内网私网IP转换公网IP&#xff1b; &#xff08;2&#xff09;、隐藏内网&#xff0c;起到保护内网作用&#xff1b; &#xff08;3&#xff09;、适当的缓解的IPv4地址空间枯竭&#xff1b; &#xff08;4&#xff…

【数据分析面试】28.查找职工信息 (SQL文字处理/通配符查找)

题目 现在公司里有职工信息表Worker, HR需要你提供不同的职工信息&#xff0c;包括&#xff1a; 从 Worker 表中获取 “FIRST_NAME” 并以大写形式显示。从 Worker 表中获取 DEPARTMENT 的唯一值。查找 Worker 表中 FIRST_NAME 的前三个字符。查找 Worker 表中名为 ‘Amitabh…

值传递和地址传递

文章目录 目录值传递地址传递 目录 值传递 package com.zhang.parameter; //值传递 public class MethodDemo1 {public static void main(String[] args) {int a 10;System.out.println(a);System.out.println("~~~~~~~~~~~~~~~");change(a);//无论你传入的是什么 …

备战Java面试

一&#xff0e;JAVA基础 1.八个基本数据类型&#xff0c;长&#xff0c;占几个字节&#xff0c;取值范围是多少。 基本类型&#xff1a; Byte 一般的数据 1个字节 取值范围 -128—127 short 极大的数据 2个字节 取值范围 -2的15次方到2的15次方减一 int 4个字节…

JS绘制电流闪烁流动效果

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>电流闪动动效</title><style>.sd1 {dis…

618买什么最划算?618买什么东西便宜?必备数码好物清单分享

​只不&#xff0c;马上又到了618购物节咯&#xff0c;数码产品的优惠力度尤为显著&#xff0c;是购买数码产品的绝佳时机。接下来&#xff0c;我将为大家分享几款性价比超高的数码产品&#xff0c;相信总有一款能吸引你的目光。 一、南卡OE MIX开放式蓝牙耳机 在618购物狂欢节…

linux中git的使用

为什么要有git git相当于一个仓库可以让我们更好的去管理我们的代码&#xff0c;实现版本的控制&#xff0c;上传到云端仓库。有了git,就可以实现多人同时开发一个项目&#xff08;每个负责一部分代码&#xff0c;最后都上传到同一个仓库&#xff09;。 git github/gitee 的区…

【Linux】LInux下的进程状态

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在学习c和算法 ✈️专栏&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指点一二 如果文章对…

APP UI自动化测试,思路全总结在这里了

首先想要说明一下&#xff0c;APP自动化测试可能很多公司不用&#xff0c;但也是大部分自动化测试工程师、高级测试工程师岗位招聘信息上要求的&#xff0c;所以为了更好的待遇&#xff0c;我们还是需要花时间去掌握的&#xff0c;毕竟谁也不会跟钱过不去。 接下来&#xff0c…

新书速览|数字身份认证技术与实践

本书不仅仅讲述标准解决方案以及相关理论&#xff0c;更重要的是以丰富的案例&#xff0c;讲透如何将这些理论应用到具体实际场景。 本书内容 《数字身份认证技术与实践》内容涵盖身份认证的基础理论&#xff0c;包括身份认证与授权的区别、常见的认证方式以及关键技术和协议&…

代码随想录算法训练营33期 第五十天 | 188.买卖股票的最佳时机IV

dp[i][0] 不操作&#xff1b;d[i][1]第一次开始持有股票 //dp[i]当前天i的价值情况&#xff0c;dp[i][0]表示不操作的最大价值&#xff0c;dp[i][1]在当前天第一次持有的最大价值&#xff0c;dp[i][2]在当前天第一次卖出的最大价值, dp[i][3]在当前天第二次持有的最大价值&am…

苍穹外卖学习笔记(8.用户端历史订单模块,商家端订单管理模块)

目录 一、商家端订单管理模块1、查看历史订单2、查询订单详情3、取消订单4、再来一单5、代码开发6、测试 二、用户端历史订单模块1、订单搜索2、各个状态的订单数量统计3、查询订单详情4、接单5、拒单6、取消订单7、派送订单8、完成订单9、代码开发10、测试 三、校验收货地址是…