欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

翻轉(zhuǎn)數(shù)列python實現(xiàn),求前n項和,并能輸出整個數(shù)列的案例

 更新時間:2020年05月03日 17:04:11   作者:蹄蹄同學(xué)  
這篇文章主要介紹了翻轉(zhuǎn)數(shù)列python實現(xiàn),求前n項和,并能輸出整個數(shù)列的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

這是刷題時遇到的一道題,題目描述:小Q定義了一種數(shù)列稱為翻轉(zhuǎn)數(shù)列:

給定整數(shù)n和m, 滿足n能被2m整除。對于一串連續(xù)遞增整數(shù)數(shù)列1, 2, 3, 4..., 每隔m個符號翻轉(zhuǎn)一次, 最初符號為'-';。

例如n = 8, m = 2, 數(shù)列就是: -1, -2, +3, +4, -5, -6, +7, +8.

而n = 4, m = 1, 數(shù)列就是: -1, +2, -3, + 4.

小Q現(xiàn)在希望你能幫他算算前n項和為多少。

如果只需求出N項和的話,這里可以有一個簡便思路,觀察規(guī)律哈,比如n = 8, m = 2, 數(shù)列就是: -1, -2, +3, +4, -5, -6, +7, +8.時,

思路1:

對于一次翻轉(zhuǎn)前后的兩個子數(shù)組, -1, -2, 和+3, +4,+3和-1的和為2,+4和-2的和為2,總和為4,同理對后面的兩個子數(shù)組求和也是4,也就是說,前后兩個不同符號的子數(shù)組的和剛好是M*M,那么這樣的數(shù)組有多少呢,有N/2M次,所以和為M*N/2

思路2:

對于相隔m個的兩個數(shù)字數(shù)字的正好為M,這樣的數(shù)字對有N/2個,所以和就為M*N/2啦~~~~是不是so easy呀

好了,python實現(xiàn)如下,這個是把數(shù)列輸出,然后再求和,另外思路2在里面有體現(xiàn)哦

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是翻轉(zhuǎn)次數(shù)
   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)#這里可以直接計算出結(jié)果
m=int(input("請輸入M:"))
n=int(input('請輸入N:'))

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

補充知識:Python Fibonacci-無窮數(shù)列 求第n項及前n項和

Fibonacci數(shù)列,又稱無窮列表,前n項和為:1,1,2,3,5,8,13,21,34,55…

他可以遞歸地定義為:

這是一個遞歸關(guān)系,當n大于1時,這個數(shù)列的第n項和是前兩項之和。利用遞歸算法可以很簡單地解出其解以及前n項和。

# 分段函數(shù) 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 的正整數(shù):"))
value = [i for i in range(n)]
Fbc_list = []
for i in value:
  s = backValue(i)
  Fbc_list.append(s)

print("第%s的數(shù)為:"%n,Fbc_list[-1],"\n無窮列表為:",Fbc_list,"\n前%s項和為:"%n,sum(Fbc_list))

以上這篇翻轉(zhuǎn)數(shù)列python實現(xiàn),求前n項和,并能輸出整個數(shù)列的案例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于python實現(xiàn)銀行管理系統(tǒng)

    基于python實現(xiàn)銀行管理系統(tǒng)

    這篇文章主要介紹了基于python實現(xiàn)銀行管理系統(tǒng),文中有非常詳細的代碼示例,對正在學(xué)習(xí)python項目制作的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-04-04
  • python實現(xiàn)簡單成績錄入系統(tǒng)

    python實現(xiàn)簡單成績錄入系統(tǒng)

    這篇文章主要為大家詳細介紹了python實現(xiàn)簡單成績錄入系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • python3中os.path模塊下常用的用法總結(jié)【推薦】

    python3中os.path模塊下常用的用法總結(jié)【推薦】

    這篇文章主要介紹了python3中os.path模塊下常用的用法總結(jié) ,需要的朋友可以參考下
    2018-09-09
  • python unichr函數(shù)知識點總結(jié)

    python unichr函數(shù)知識點總結(jié)

    在本篇文章里小編給大家整理的是一篇關(guān)于python unichr函數(shù)的知識點總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • Python實現(xiàn)的各種常見分布算法示例

    Python實現(xiàn)的各種常見分布算法示例

    這篇文章主要介紹了Python實現(xiàn)的各種常見分布算法,結(jié)合實例形式總結(jié)分析了Python常見的各種分布算法相關(guān)實現(xiàn)技巧,包括二項分布、離散分布、泊松分布、正態(tài)分布、指數(shù)分布等算法實現(xiàn)方法,需要的朋友可以參考下
    2018-12-12
  • python中open用法的使用指南

    python中open用法的使用指南

    在Python中,open()函數(shù)用于打開文件,并返回一個文件對象,可以使用該對象來讀取或?qū)懭胛募?shù)據(jù),本文主要介紹了python中open用法的使用指南,感興趣的可以了解一下
    2023-12-12
  • Windows上配置Emacs來開發(fā)Python及用Python擴展Emacs

    Windows上配置Emacs來開發(fā)Python及用Python擴展Emacs

    這篇文章主要介紹了Windows上配置Emacs來開發(fā)Python及用Python擴展Emacs的方法,Emacs與Vim并稱為開發(fā)者手中最強大的兩款文本編輯器,需要的朋友可以參考下
    2015-11-11
  • python實現(xiàn)鍵盤控制鼠標移動

    python實現(xiàn)鍵盤控制鼠標移動

    這篇文章主要為大家詳細介紹了python實現(xiàn)鍵盤控制鼠標移動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • Python使用logging實現(xiàn)多進程安全的日志模塊

    Python使用logging實現(xiàn)多進程安全的日志模塊

    這篇文章主要為大家詳細介紹了Python如何使用標準庫logging實現(xiàn)多進程安全的日志模塊,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下
    2024-01-01
  • 淺談Python中re.match()和re.search()的使用及區(qū)別

    淺談Python中re.match()和re.search()的使用及區(qū)別

    這篇文章主要介紹了淺談Python中re.match()和re.search()的使用及區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04

最新評論