群里推荐的编辑器MU,真心不错。
例1:有1,2,3,4四个数字,能组成多少个互不相同且无重复数字的三位数?它们有哪些?
求解分析:
百位数为i,十位数为j,个位数为k,i,j,k取值范围是(1,2,3,4),组成所有的排列组合后,把不满足条件(i=j or i=k or j=k)的去掉。
百位数i | 十位数j | 个位数k |
1 | 2 | 3 |
1 | 2 | 4 |
1 | 3 | 2 |
1 | 3 | 4 |
1 | 4 | 2 |
1 | 4 | 3 |
2 | 1 | 3 |
2 | 1 | 4 |
2 | 3 | 1 |
2 | 3 | 4 |
…… | …… | …… |
代码如下:(*用了mu,发现挺好用的。)
运行结果:
如何拓展?
一是增加一个数字0,这样三位数成立的条件就有所改变,百位数i!=0
二是把0~9三个数字全部算进去,再增加一个条件,比如例子2中,要求这个三位数是完全平方数。
例子2:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
求解分析:
什么是完全平方数?如4=2*2,9=3*3,16=4*4
成立条件1:x*x=100+i
成立条件2:y*y=100+168+i
代码如下:
测试结果: