首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

小算法题-四

2012-09-23 
小算法题--4#在黑板上写了N个正整数组成的一个数列,进行如下操作: 每次擦去其中的两个数a和b,然后在数列中

小算法题--4

#在黑板上写了N个正整数组成的一个数列,进行如下操作: 每次擦去其中的两个数a和b,然后在数列中加入一个数a×b+1,#如此下去直至黑板上 剩下一个数,在所有按这种操作方式最后得到的数中,最大的为max,最小的为min, 则该数列的极差定义为M=max-min。#请你编程,对于给定的数列,计算极差。# example: input 1 2 3 output 2# 思路:每次取最大两个得到最小值,每次取最小两个得到最大值a=[1,2,3]def Max(a):    a.sort()    while len(a)>1:        #print a        a.append(a.pop(0)*a.pop(0)+1)        a.sort()    return adef Min(a):    a.sort()    while len(a)>1:        #print a        a.append(a.pop(len(a)-1)*a.pop(len(a)-1)+1)        a.sort()    return aprint Max(a[:]),'\n',Min(a[:])

热点排行