2 【程式21】
3 題目:猴子吃桃問題:猴子第一天摘下若幹個桃子,當即吃了一半,還不瘾,又多吃了一個
4 第二天早上又将剩下的桃子吃掉一半,又多吃了一個。以後每天早上都吃了前一天剩下
5 的一半零一個。到第10天早上想再吃時,見隻剩下一個桃子了。求第一天共摘了多少。
6 '''
7 n = 1
8 for i in range(9,0,-1):
9 n = (n+1)<<1
10 print n
1 '''
2 ★
3 【程式22】
4 題目:兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽簽決定
5 比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請程式設計式找出
6 三隊賽手的名單。
7 '''
8 for i in range(ord('x'),ord('z') + 1):
9 for j in range(ord('x'),ord('z') + 1):
10 if i != j:
11 for k in range(ord('x'),ord('z') + 1):
12 if (i != k) and (j != k):
13 if (i != ord('x')) and (k != ord('x')) and (k != ord('z')):
14 print 'order is a -- %s\t b -- %s\tc--%s' % (chr(i),chr(j),chr(k))
2 【程式23】
3 題目:列印出如下圖案(菱形)
4
5 *
6 ***
7 *****
8 *******
9 *****
10 ***
11 *
12 '''
13 for i in range(1,8,2):
14 print ' '*(4-(i+1)/2)+'*'*i
15 for i in range(5,0,-2):
16 print ' '*(4-(i+1)/2)+'*'*i
2 【程式24】
3 題目:有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數列的前20項之和。
4 '''
5 u = 2.0
6 d = 1.0
7 s = 0.0
8 for i in range(0,20):
9 s = s+u/d
10 u = u+d
11 d = u-d
12 print '%f'%s
2 【程式25】
3 題目:求1+2!+3!+...+20!的和
5 s = 0
6 t = 1
7 for i in range(1,21):
8 t*=i
9 s+=t
10 print s
2 【程式26】
3 題目:利用遞歸方法求5!。
5 def fun(i):
6 if i==1:
7 return 1
8 return i*fun(i-1)
9
10 print fun(5)
2 【程式27】
3 題目:利用遞歸函數調用方式,将所輸入的5個字元,以相反順序列印出來。
5 def output(s,l):
6 if l==0:
7 return
8 print s[l-1]
9 output(s,l-1)
10
11 s = raw_input('Input a string:')
12 l = len(s)
13 output(s,l)
2 【程式28】
3 題目:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數,他說比第
4 3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。最後
5 問第一個人,他說是10歲。請問第五個人多大?
7 def fun(i):
8 if i==1:
9 return 10
10 return fun(i-1)+2
11
12 print fun(5)
2 【程式29】
3 題目:給一個不多于5位的正整數,要求:一、求它是幾位數,二、逆序列印出各位數字。
5 def fun(i,cnt):
6 if i==0:
7 print 'There are %d digit in the number.'%cnt
8 return
9 print i%10,
10 i/=10
11 cnt+=1
12 fun(i,cnt)
13
14 i = int(raw_input('Input a number:'))
15 fun(i,0)
2 【程式30】
3 題目:一個5位數,判斷它是不是回文數。即12321是回文數,個位與萬位相同,十位與千位相同。
5 ans=['Yes','No']
6 i = int(raw_input('Input a number(10000~99999):'))
7 if i<10000 or i>99999:
8 print 'Input Error!'
9 else:
10 i = str(i)
11 flag = 0
12 for j in range(0,2):
13 if i[j]!=i[4-j]:
14 flag = 1
15 break
16 print ans[flag]
2 【程式36】【篩選法】
3 題目:求100之内的素數
5 a = [0]*101
6 for i in range(2,11):
7 for j in range(i+i,101,i):
8 a[j]=-1;
9 for i in range(2,101):
10 if a[i]!=-1:
11 print ' ',i,
2 【程式37】
3 題目:對10個數進行排序
5 print 'input 10 numbers please:'
6 l = []
7 for i in range(10):
8 l.append(int(raw_input('Input a number:')))
9 #可以直接使用sort函數:l.sort()
10 #也可以自己寫排序代碼(選擇排序)
11 for i in range(9):
12 for j in range(i+1,10):
13 if l[j]<l[i]:
14 temp = l[j]
15 l[j] = l[i]
16 l[i] = temp
17 print l