Python 經典編程題


# -*- coding: cp936 -*- 
#enconding: utf-8 

########################################################
#打印99乘法表
########################################################
def gen(line_cnt):
    for i in range(1,line_cnt+1):
        for j in range(1,i+1):
            m=i*j
            print '%s*%s=%s\t' %(i,j,m),
        print ''
if __name__== '__main__':
    gen(9)
    
#########################################################
#求可用被17整除的所有三位數

for num in range(99,1000):
    if num % 17 == 0:
        print num

##########################################################
#寫一個程序,提示輸入整數X,然后計算從1到X連續整數的和
sum = 0
x = int (raw_input ('pls input x: '))
#輸入函數
for num in range(0,x):
     sum += num
print sum


###########################################################
#改寫上面的計算過程,循環嵌套計算連續的和
x = int(raw_input('please input x : ' ))
layer = 1
while layer <= x:    
    lsum = 0
    count =1
    while count <=layer:
        lsum += count
        count += 1
        fstr = ''
        for num in range(1 , layer ):
            
            fstr = fstr + str(num) + '+'
        fstr += str(layer)
        print fstr,'=',lsum
    layer += 1
            # 如何控制空格的數量讓等號在一起呢

#############################################################################
#題目:有1、2、3、4個數字,能組成多少個互不相同且無重復數字的三位數?都是多少?
cnt = 0#count the sum of result
for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if i!=j and i!=k and j!=k:
                print i*100+j*10+k
                cnt+=1
print cnt


"""
題目:企業發放的獎金根據利潤提成。利潤(I)低於或等於10萬元時,獎金可提10%;
利潤高於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,
可可提成7.5%;20萬到40萬之間時,高於20萬元的部分,可提成5%;
40萬到60萬之間時高於40萬元的部分,可提成3%;60萬到100萬之間時,
高於60萬元的部分,可提成1.5%,高於100萬元時,超過100萬元的部分按1%提成,
從鍵盤輸入當月利潤I,求應發放獎金總數?
"""

i = int(raw_input('Enter the profit:'))
arr = [1000000,600000,400000,200000,100000,0]
rat = [0.01,0.015,0.03,0.05,0.075,0.1]
r = 0
for idx in range(0,6):
    if i>arr[idx]:
        r+=(i-arr[idx])*rat[idx]
        print (i-arr[idx])*rat[idx]
        i=arr[idx]
print r


#題目:一個整數,它加上100后是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?

import math
num = 1
while True:
    if math.sqrt(num + 100)-int(math.sqrt(num + 100)) == 0 and math.sqrt(num + 268)-int(math.sqrt(num + 268)) == 0:
        print(num)
        break
    num += 1

#題目:輸入某年某月某日,判斷這一天是這一年的第幾天?
#author: 叛軍
import datetime
import time
dtstr = str(raw_input('Enter the datetime:(20151215):'))
dt = datetime.datetime.strptime(dtstr, "%Y%m%d")
another_dtstr =dtstr[:4] +'0101'
another_dt = datetime.datetime.strptime(another_dtstr, "%Y%m%d")
print (int((dt-another_dt).days) + 1)

##古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月
  ###后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?

a = 1
b = 1
for i in range(1,21,2):
    print '%d %d'%(a,b),
    a += b
    b += a



###題目:判斷101-200之間有多少個素數,並輸出所有素數。


#!/usr/bin/python
#-*- coding:utf-8 -*-
from math import sqrt 
def main():
    for i in range(101,201):
        flag = 1
        k = int(sqrt(i))
        for j in range(2,k+1):
            if i%j == 0:
                flag = 0
                break
        if flag == 1:
            print '%5d'%(i),
    
if __name__ == "__main__":
    main()


#題目:打印出所有的“水仙花數”,所謂“水仙花數”是指一個三位數,其各位數字立方和等於該數本身。例如:153是一個“水仙花數”,因為153=1的三次方+5的三次方+3的三次方。

#!/usr/bin/python
#-*- coding:utf-8 -*-
def main():
    for i in range(100,1000):
        a = i%10
        b = i/100
        c = (int(i/10))%10
        if i == a**3+b**3+c**3:
            print "%5d"%(i),

if __name__ == "__main__":
    main()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM