生成回文数的问题。
1.是生成回文数,不是判断~
2.范围是随机输入的,最大不超过signed int。
3.比如cin>>min>>max; //100 & 1,000,000,000
4.不能循环max-min次,时间成本太恐怖。
菜鸟没啥思路,除了5(4、3、2、1)层循环这种逗比想法。。。
谢谢指点先~
[解决办法]
回文数格式
1)按照位数,可以分为偶数位数字和奇数位数字两种情况
N=2K 或者2K+1
1.1)偶数位数字: 高K位 低K位
1.2)奇数位数字: 高K位 中间1位 低K位
K =0 就是1位数字的情况 0~9 ,共10个数,可以认为都是回文数。
2)特点
2.1)高K位 和 低K位 是对称的。
2.2)最高位不能为0。
按照这个思路处理就可以了。
[解决办法]
变量a b记录min max的位数
再随机生成(a+1)/2~(a+b)/4个数
回文(a-1)/2~(a+b-4)/4个数