题目:来自程序员面试宝典
请将123456789九个数字以特定的顺序排列,组成一个9位数ABCDEFGHI(每个数字只能使用一次),使得:
1.第一位数字组成的整数可以被1整除
2.第一、二位数字组成的整数可以被2整除
3.第一、二、三位数字组成的整数可以被3整除
4.第一、二、三、四位数字组成的整数可以被4整除
......
分析:
E=5(被5整除),则ABCD5FGHI
偶数位一定是偶数则BDFH={2,4,6,8},奇数位一定是奇数则ACGI={1,3,7,9};
ABCD被4整除,则(10C+D)被4整除,排除D={4,8}的情况后,D={2,6};同样,ABCD5FGH被8整除,则(10G+H)能被4整除,H={2,6};故DH={2,6},BF={4,8};
ABCD5F被6整除,ABC被3整除,则(100D+50+F)能被3整除,结合D={2,6},F={4,8},可得DEF={258,654};
当DEF=258时,H=6,B=4,则A4C258G6I.
由被8整除得8G6被8整除,结合G={1,3,7,9}得,G={1,9}