题目:有 1、2、3、4 四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
程序分析:可填在百位、十位、个位的数字都是 1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。
程序源代码:
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*100+j*10+k)
题目:一个整数,它加上 100 和加上 268 后都是一个完全平方数,请问该数是多少?
程序分析:在 10000 以内判断,将该数加上 100 后再开方,加上 268 后再开方,如果开方后的结果满足如下条件,即是结果。请看具体分析:
程序源代码:
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)
题目:输入三个整数 x,y,z,请把这三个数由小到大输出。
程序分析:我们想办法把最小的数放到 x 上,先将 x 与 y 进行比较,如果 x>y 则将 x 与 y 的值进行交换,然后再用 x 与 z 进行比较,如果 x>z 则将 x 与 z 的值进行交换,这样能使 x 最小。
程序源代码:
1=[]
for i in range(3):
x=int(raw_input("integer:\n"))
1.append(x) #append() 方法向列表的尾部添加一个新的元素
1.sort() #sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数
print(1)