摘要:若一个数(首位不为0)从左到右读与从右到左读都是一样,这个数就叫做回文数,例如12521就是一个回文数。 给定一个正整数,把它的每一个位上的数字倒过来排列组成一个新数,然后与原数相加,如果是回文数则停止,如果不是,则重复这个操作,直到和为回文数为止。给定的数本身不为回文数。 例如:87则有: STEP1: 87+78=165 STEP2: 165+561=726 STEP3: 726+627=13...
阅读全文
03 2016 档案
摘要:小明的妈妈买了N个苹果,想把它们都分给她的M个孩子。为了公平起见, 她想让所有的孩子都分到一样多的苹果。那么她至少要再买多少个苹果呢? 如:N=3, M=1, 则输出0 N=3,M=2,则输出1其实可以非常简单的循环一下,然后没有然后了。 M,N=1,3 a = N % M for i in range(max(M,N)): if (N + i) % M == 0: ...
阅读全文
摘要:M个人围成一圈,每分钟相邻的两个人可以交换位置(只能有一对交换)。 现在给你一个正整数n(0 < n < 1000),求使n个人的顺序颠倒(即每个人左边相邻的人换到右边,右边相邻的人换到左边)所需的最少时间(分钟数)。 如:n=4, 输出2. if n%2: print (n-1)**2/4 else: print n*(n-2)/4
阅读全文
摘要:比如第i个数,求1~i-2的最大数,这样不是连续序列。 从第三个数开始递归循环到第i个数。
阅读全文
摘要:威佐夫博弈(Wythoff Game):有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。 这种情况下是颇为复杂的。我们用(ak,bk)(ak ≤ bk ,k=0,1,2,...,n)表示两堆物品的数量并称其为局势,如果甲面对(0,0)
阅读全文
摘要:原始表为[1,1],然后用存到L中,然后向原始表里面不断插入相对应的L相加的元素, 输出来,然后再替换到L中,再向原始表[1,1]中不断插入L相对应元素的和。 不是很简洁,每次输入重新插入一边数据。
阅读全文
摘要:刚开始日了poi了,居然神TM写了六个if判断用来弄ABCDEF。。。
阅读全文
摘要:Py从小喜欢奇特的东西,而且天生对数字特别敏感,一次偶然的机会,他发现了一个有趣的四位数2992, 这个数,它的十进制数表示,其四位数字之和为2+9+9+2=22,它的十六进制数BB0,其四位数字之和也为22, 同时它的十二进制数表示1894,其四位数字之和也为22,啊哈,真是巧啊。 Py非常喜欢这种四位数,由于他的发现,所以这里我们命名其为Py数。 现在给你一个十进制4位数n,你来判断n是不是P...
阅读全文
摘要:给你一个整数list L, 如 L=[2,-3,3,50], 求L的一个连续子序列,使其和最大,输出最大子序列的和。 例如,对于L=[2,-3,3,50], 输出53(分析:很明显,该列表最大连续子序列为[3,50]) L=[2,-3,3,50,-3,67,34,2,1,73,2000,-1,13,24,352,-2] def way(L): sum = 0 ans = L[0]...
阅读全文
摘要:给一串数组,算出所有元素乘积的末尾0的个数 求一下每一个之中的2,5成对出现的个数,成对一个就有一个10. 好笨的代码的说。
阅读全文
摘要:图片更直观理解。希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。 def shell_sort(lists): count = len(lists) step = 2 group =
阅读全文
摘要:def sub_sort(array,low,high): key = array[low] while low < high: while low < high and array[high] >= key: high -= 1 while low < high and array[high] <
阅读全文
摘要:# -*- coding: UTF-8 -*- def merge(left, right): i, j = 0, 0 result = [] while i < len(left) and j < len(right): if left[i] <= right[j]: result.append(
阅读全文
摘要:def insert_sort(a): for i in range(1,len(a)): for j in range(i): if a[j]>a[i]: a[j],a[i]=a[i],a[j] return a 在一个有序的数列中插入一个数字,重新变得有序。 第一个数字本身就是有序的,将第二个数
阅读全文
摘要:从第一个数字开始,一个个进行比较,如果小于前者,交换位置。 然后是第二个。
阅读全文
摘要:# -*- coding: UTF-8 -*- def bubble_sort(a): for i in range(len(a)-1): j = 0 while(j<len(a)-i-1): if a[j]>a[j+1]: a[j],a[j+1]=a[j+1],a[j]#交换数值 j+=1 els
阅读全文
摘要:# -*- coding: UTF-8 -*- from numpy import* a = arange(3*3).reshape(3,3) b = arange(3*3).reshape(3,3) c = hstack((a,b))#水平组合 d = vstack((a,b))#垂直组合 #hs
阅读全文
摘要:# -*- coding: UTF-8 -*- from numpy import* a = arange(6)#创建一维数组 for i in range(0,6): a[i]=0 print a b = arange(5*5).reshape(5,5)#创建二维数组 for i in range
阅读全文
摘要:s = raw_input(">>>") x,y = s.split(" ") print x,y 可让我好好折腾了一番,本来打算一个个输入,然后用这个可以实现间隔输入,上面这个就是空格隔开的输入。
阅读全文
摘要:# -*- coding: utf-8 -*-#输入中文要用 class Queue(): def __init__(qu,size):#类比栈 qu.queue=[]; qu.size=size; qu.head=0; qu.tail=0; def Empty(qu): if qu.head==q
阅读全文
摘要:# -*- coding: utf-8 -*-#输入中文要用 class Stack(): def __init__(st,size):#创建一个栈,用列表 st.stack=[]; st.size=size; st.top=0; def push(st,content):#入栈操作 if st.F
阅读全文
摘要:为了持久储存对象,将对象序列化,使用的时候将其恢复。 # -*- coding: utf-8 -*- import pickle a = ["1", "2", "3", "3"] b = pickle.dumps(a)#将对象序列化 print b c = pickle.loads(b) print
阅读全文

浙公网安备 33010602011771号