文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么用Python/R语言分别解决金字塔数求和问题

2023-06-29 15:56

关注

本篇内容介绍了“怎么用Python/R语言分别解决金字塔数求和问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1、前N阶乘求和

阶乘是基斯顿·卡曼(Christian Kramp,1760~1826)于 1808 年发明的运算符号,是数学术语。

n!=1∗2∗3∗...∗(n−1)∗n

或者可以使用递归方式定义:

怎么用Python/R语言分别解决金字塔数求和问题

对其前N项阶乘求和即是sum(1!+2!+3!+...+n!),有了以上的理论基础,我们一起看看图解,加强一下理解 !

1.1 图解问题

怎么用Python/R语言分别解决金字塔数求和问题

如图,如果要输出每一个值 ,可以嵌入循环的思想,每一次将前一个值进行乘法运算即可!

1.2 算法流程

怎么用Python/R语言分别解决金字塔数求和问题

在此可以看到 ,我们需要加以人工控制需要算前多少项。在循环体内,这是对阶乘数的累加和赋值。

1.3 代码实现

1.3.1 python代码实现

n = int(input("n = "))s = 0t = 1for i in range(1,n+1):    t*=i    s+=tprint ("前{}阶乘的和是:{}" .format(n,s))

怎么用Python/R语言分别解决金字塔数求和问题

1.3.2 R语言代码实现

factorial <- function(n){  n <<-  as.integer(readline("请输入需要阶乘个数(从 1 开始):"))  fac = 1  ans = 0  for (i in 1:n) {    fac = fac * i    ans = ans + fac   }  return(ans)}test_3 <- function(){  print("前n阶乘之和为:")  factorial(n)}test_3()

怎么用Python/R语言分别解决金字塔数求和问题

1.4实验小结

这个实验核心的点是循环的使用;

至于R代码部分均使用函数的形式进行包装方便理解;函数内部采用互动的方式,便于拓展使用。有需要了解的留言或私信。

2、金字塔数求和运算

此处的金字塔是真金字塔;就按简单的金字塔形状的数字:

怎么用Python/R语言分别解决金字塔数求和问题

求s=a+aa+aa+aaa+aa...a的值,其中 a 是一个数字。例如:

2+22+222+2222+22222

 (此时共 有 5 个数相加),几个数相加由键盘控制。

2.1 图解问题

怎么用Python/R语言分别解决金字塔数求和问题

通过对每一层金字塔数的拆解,即可得到如下的通项公式:

怎么用Python/R语言分别解决金字塔数求和问题

这样问题不久又解决了吗?与上面的前n项阶乘求和一样,使用循环求出每一层数,然后求和。

2.2 算法流程

怎么用Python/R语言分别解决金字塔数求和问题

与上面实验基本没有差异;主要是循环体的算法不同而已。此处不做讲解了。

2.3 代码实现

2.3.1 python代码

a = int(input("请输入需要a的值:"))n = int(input("请输入需要n的值:"))Fn = 0pyr = []for i in range(n):    Fn = Fn + a    a = a*10    pyr.append(Fn)    print(Fn)print("前{}个数的和为:{}".format(n, sum(pyr)))

怎么用Python/R语言分别解决金字塔数求和问题

2.3.2 R语言代码实现

sum_pyr <- function(){    a <- as.integer(readline("请输入a的值:"))  n <- as.integer(readline("请输入n的值:"))    Fn <- 0  pyr <- c()    for (i in 1:n) {    Fn <- Fn + a    a <- a * 10    pyr[i] <- Fn    print(Fn)  }    ans <<- sum(pyr)  }test_4 <- function(){  print("金字塔为:")  sum_pyr()  print("求和结果为:")  ans}test_4()

怎么用Python/R语言分别解决金字塔数求和问题

“怎么用Python/R语言分别解决金字塔数求和问题”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯