首页 > 代码库 > Python重写C语言程序100例--Part1

Python重写C语言程序100例--Part1

‘‘‘
【程序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.1
bonus2 = bonus1 + 100000 * 0.500075
bonus4 = bonus2 + 200000 * 0.5
bonus6 = bonus4 + 200000 * 0.3
bonus10 = bonus6 + 400000 * 0.15

i = int(raw_input(‘input gain:\n‘))
if i <= 100000:
    bonus = i * 0.1
elif i <= 200000:
    bonus = bonus1 + (i - 100000) * 0.075
elif i <= 400000:
    bonus = bonus2 + (i - 200000) * 0.05
elif i <= 600000:
    bonus = bonus4 + (i - 400000) * 0.03
elif i <= 1000000:
    bonus = bonus6 + (i - 600000) * 0.015
else:
    bonus = bonus10 + (i - 1000000) * 0.01
print ‘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 math
for 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



 

Python重写C语言程序100例--Part1