'''【程式1】題目:有1、2、3、4個數字,能組成多少個互不相同且無重複數位三位元?都是多少?1.程式分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列後再去 掉不滿足條件的排列。 2.程式原始碼:'''for i in range(1,5): for j in range(1,5): for k in range(1,5): if( i != k ) and (i != j) and (j != k): print i,j,k
'''【程式2】題目:企業發放的獎金根據利潤提成。利潤(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,求應發放獎金總數?1.程式分析:請利用數軸來分界,定位。注意定義時需把獎金定義成長整型。 2.程式原始碼:'''bonus1 = 100000 * 0.1bonus2 = bonus1 + 100000 * 0.500075bonus4 = bonus2 + 200000 * 0.5bonus6 = bonus4 + 200000 * 0.3bonus10 = bonus6 + 400000 * 0.15i = int(raw_input('input gain:\n'))if i <= 100000: bonus = i * 0.1elif i <= 200000: bonus = bonus1 + (i - 100000) * 0.075elif i <= 400000: bonus = bonus2 + (i - 200000) * 0.05elif i <= 600000: bonus = bonus4 + (i - 400000) * 0.03elif i <= 1000000: bonus = bonus6 + (i - 600000) * 0.015else: bonus = bonus10 + (i - 1000000) * 0.01print 'bonus = ',bonus
'''【程式3】題目:一個整數,它加上100後是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?1.程式分析:在10萬以內判斷,先將該數加上100後再開方,再將該數加上268後再開方,如果開方後 的結果滿足如下條件,即是結果。請看具體分析:2.程式原始碼:#include "math.h"main(){long int i,x,y,z;for (i=1;i<100000;i++) { x=sqrt(i+100); /*x為加上100後開方後的結果*/ y=sqrt(i+268); /*y為再加上168後開方後的結果*/ if(x*x==i+100&&y*y==i+268)/*如果一個數的平方根的平方等於該數,這說明此數是完全平方數*/ printf("\n%ld\n",i); }} '''import mathfor i in range(10000): #轉化為整型值 x = int(math.sqrt(i + 100)) y = int(math.sqrt(i + 268)) if(x * x == i + 100) and (y * y == i + 268): print i