翻转数列python实现,求前n项和,并能输出整个数列的案例


Posted in Python onMay 03, 2020

这是刷题时遇到的一道题,题目描述:小Q定义了一种数列称为翻转数列:

给定整数n和m, 满足n能被2m整除。对于一串连续递增整数数列1, 2, 3, 4..., 每隔m个符号翻转一次, 最初符号为'-';。

例如n = 8, m = 2, 数列就是: -1, -2, +3, +4, -5, -6, +7, +8.

而n = 4, m = 1, 数列就是: -1, +2, -3, + 4.

小Q现在希望你能帮他算算前n项和为多少。

如果只需求出N项和的话,这里可以有一个简便思路,观察规律哈,比如n = 8, m = 2, 数列就是: -1, -2, +3, +4, -5, -6, +7, +8.时,

思路1:

对于一次翻转前后的两个子数组, -1, -2, 和+3, +4,+3和-1的和为2,+4和-2的和为2,总和为4,同理对后面的两个子数组求和也是4,也就是说,前后两个不同符号的子数组的和刚好是M*M,那么这样的数组有多少呢,有N/2M次,所以和为M*N/2

思路2:

对于相隔m个的两个数字数字的正好为M,这样的数字对有N/2个,所以和就为M*N/2啦~~~~是不是so easy呀

好了,python实现如下,这个是把数列输出,然后再求和,另外思路2在里面有体现哦

def isInput(m,n):
  c=n/m
  d=c%2
  if d==0:
   return True
  else:
   return False
def s(m,n):
  t=int(n/m)
  an=[]
  ai=0
  for turntime in range(1,t+1):#turntime是翻转次数
   for sublen in range(0,m):#sublen是相同符号的子序列长度
     ai=ai+1
     tt=turntime%2
     if tt==0:
      an.append(ai)
     else:
      ci=ai*(-1)
      an.append(ci)
  print(an)
  print(sum(an))
  test=[]
  for a in an:
   if a<0:
     test.append(a)
  x=len(test)
  print(m*x)#这里可以直接计算出结果
m=int(input("请输入M:"))
n=int(input('请输入N:'))

if isInput(m,n)==False:
  print('输入不合法')
else:
  s(m,n)

翻转数列python实现,求前n项和,并能输出整个数列的案例

补充知识:Python Fibonacci-无穷数列 求第n项及前n项和

Fibonacci数列,又称无穷列表,前n项和为:1,1,2,3,5,8,13,21,34,55…

他可以递归地定义为:

翻转数列python实现,求前n项和,并能输出整个数列的案例

这是一个递归关系,当n大于1时,这个数列的第n项和是前两项之和。利用递归算法可以很简单地解出其解以及前n项和。

# 分段函数 F(n)= {1 n=0; 1 n=1; F(n-1)+F(-2)  n>1}
def backValue(n):
  if n<=1:
    return 1
  return backValue(n-1)+backValue(n-2)

n = int(input("输入一个大于 0 的正整数:"))
value = [i for i in range(n)]
Fbc_list = []
for i in value:
  s = backValue(i)
  Fbc_list.append(s)

print("第%s的数为:"%n,Fbc_list[-1],"\n无穷列表为:",Fbc_list,"\n前%s项和为:"%n,sum(Fbc_list))

以上这篇翻转数列python实现,求前n项和,并能输出整个数列的案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python开发之IDEL(Python GUI)的使用方法图文详解
Nov 12 Python
使用C#配合ArcGIS Engine进行地理信息系统开发
Feb 19 Python
Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
Jan 12 Python
浅谈function(函数)中的动态参数
Apr 30 Python
python学生信息管理系统
Mar 13 Python
用Python解决x的n次方问题
Feb 08 Python
Python openpyxl读取单元格字体颜色过程解析
Sep 03 Python
python cv2截取不规则区域图片实例
Dec 21 Python
Spring http服务远程调用实现过程解析
Jun 11 Python
python中执行smtplib失败的处理方法
Jul 01 Python
Windows下Sqlmap环境安装教程详解
Aug 04 Python
浅谈怎么给Python添加类型标注
Jun 08 Python
Python定义函数实现累计求和操作
May 03 #Python
Python实现汇率转换操作
May 03 #Python
Python定时从Mysql提取数据存入Redis的实现
May 03 #Python
python函数调用,循环,列表复制实例
May 03 #Python
python轮询机制控制led实例
May 03 #Python
python 轮询执行某函数的2种方式
May 03 #Python
在Sublime Editor中配置Python环境的详细教程
May 03 #Python
You might like
php批量删除数据库下指定前缀的表以prefix_为例
2014/08/24 PHP
PHPExcel读取EXCEL中的图片并保存到本地的方法
2015/02/14 PHP
php 参数过滤、数据过滤详解
2015/10/26 PHP
PHP Header失效的原因分析及解决方法
2016/11/16 PHP
PHP中时间加减函数strtotime用法分析
2017/04/26 PHP
js实现运动logo图片效果及运动元素对象sportBox使用方法
2012/12/25 Javascript
解析JSON对象与字符串之间的相互转换
2013/12/18 Javascript
JavaScript内存管理介绍
2015/03/13 Javascript
javascript中一些util方法汇总
2015/06/10 Javascript
js实现a标签超链接提交form表单的方法
2015/06/24 Javascript
AngularJS单选框及多选框实现双向动态绑定
2016/01/13 Javascript
js实现获取两个日期之间所有日期的方法
2016/06/17 Javascript
jQuery 跨域访问解决原理案例详解
2016/07/09 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
jQuery simpleModal插件的使用介绍
2016/08/30 Javascript
BootStrap modal模态弹窗使用小结
2016/10/26 Javascript
jquery获取select,option所有的value和text的实例
2017/03/06 Javascript
JS中Swiper的使用和轮播图效果
2017/08/11 Javascript
vue2里面ref的具体使用方法
2017/10/27 Javascript
JQuery模拟实现网页中自定义鼠标右键菜单功能
2018/11/14 jQuery
vue实现密码显示与隐藏按钮的自定义组件功能
2019/04/23 Javascript
vue项目中将element-ui table表格写成组件的实现代码
2019/06/12 Javascript
手写Vue弹窗Modal的实现代码
2019/09/11 Javascript
vuex分模块后,实现获取state的值
2020/07/26 Javascript
Python程序设计入门(2)变量类型简介
2014/06/16 Python
Python实现读取目录所有文件的文件名并保存到txt文件代码
2014/11/22 Python
在Python的Django框架中创建语言文件
2015/07/27 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
2019/05/16 Python
keras的ImageDataGenerator和flow()的用法说明
2020/07/03 Python
Python操作Excel的学习笔记
2021/02/18 Python
一款纯css3实现的鼠标经过按钮特效教程
2014/11/09 HTML / CSS
美国知名男士服饰品牌:Brooks Brothers(布克兄弟)
2016/08/25 全球购物
美国巧克力喷泉品牌:Sephra
2019/05/05 全球购物
服务承诺口号
2014/05/22 职场文书
大学生社区义工服务心得体会
2016/01/22 职场文书
Nginx 502 Bad Gateway错误原因及解决方案
2021/03/31 Servers