【题目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;这在各种现实世界的应…

JavaScript 模块导出示例

JavaScript 模块导出示例说明 在 JavaScript 中&#xff0c;我们可以通过 export 关键字将模块中的功能导出&#xff0c;以供其他模块使用。导出可以是单个默认值&#xff0c;也可以是多个命名值。本文将分别介绍导出单个值和导出多个值的示例说明。 导出单个值 当模块中只有…

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

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

Vue2、Vue3响应式原理和相关源码(持续更新~)

目录 一、vue2响应式原理 对应常规源码&#xff1f;&#xff1a; 数组有哪些不同&#xff1f;&#xff1a; 总结下&#xff0c;vue2有哪些缺陷&#xff1f; 在以往的经验中&#xff0c;我们主技术栈为vue的前端开发&#xff0c;在面试的时候被问到响应式原理的概率是非常大…

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

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

24pht春3

pht春3 A 显然 f [ i ] [ j ] f[i][j] f[i][j] 表示前 i j ij ij 个&#xff0c;有 i i i 个用 a a a &#xff0c; j j j 个选 b b b 的方案数。然后显然。 不是&#xff0c;好像假了&#xff0c; k s ≠ n ks\neq n ksn 直接按 a a a 排序&#xff0c;那样子只要…

达梦数据库的DMRMAN工具-数据备份

达梦数据库的DMRMAN工具-数据备份 基础信息 OS版本&#xff1a; Red Hat Enterprise Linux Server release 7.9 (Maipo) DB版本&#xff1a; DM Database Server 64 V8 DB Version: 0x7000c 03134284132-20240115-215128-200811 备份数据库 1.1 设置备份选项 备份命令如果仅…

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; 相信很多用户…

C#面:简述常用的集合类

List&#xff1a;List 是一个动态数组&#xff0c;可以根据需要自动调整大小。它提供了添加、删除、查找和排序等常见操作。例如&#xff0c;可以使用 List 来存储一组整数。Dictionary<TKey&#xff0c; TValue>:是一个键值对集合&#xff0c;其中每个键都是唯一的。它提…

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: …

陇剑杯 省赛 攻击者3 CTF wireshark 流量分析

陇剑杯 省赛 攻击者3 CTF wireshark 流量分析 题目 链接&#xff1a;https://pan.baidu.com/s/1KSSXOVNPC5hu_Mf60uKM2A?pwdhaek 提取码&#xff1a;haek ├───LogAnalize │ ├───linux简单日志分析 │ │ linux-log_2.zip │ │ │ ├───misc日志…

压测步骤-uload

1.在群里申请进行性能测试 2.搭建环境&#xff0c;开始测试 3.关闭服务&#xff0c;停掉所有相关进程 4.在群里通知大家环境可用 在压测机器 &#xff08;2台&#xff09;A B 杀掉RECOMMEND进程 ps -ef|grep recommend|awk {print $2}|xargs kill -9 其中一台搭建RS测试环境 提…

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, Git, React】Technical documentation 和 问题汇总解决

1. Technical documentation 1.1 Git 配置 git config --global user.name “名称” git config --global user.email “邮箱” git config --global http.sslVerify false git clone XXX 2. 问题汇总&#xff1a; 2.1 Permission Issue fatal: could not create work tree…

C脚本实现Wincc单按钮启动/停止

文章目录 前言实现步骤&#xff1a; 前言 在Wincc中实现单按钮启动/停止。即按一下&#xff0c;按钮关联的变量置位为1&#xff0c;再按一下&#xff0c;变量复位为0。 实现步骤&#xff1a; 在变量管理器新建变量"BF01_CP_HMI_SevName_Play"&#xff1b;添加一个按…