博客园 首页 私信博主 显示目录 隐藏目录 管理

优美数,自己的思想,求指正

如果一个数中只有少于三个数字是非零的,那么我们称这个数为优美数,我们定义这个优美数的优美程度为这个数所有数字相加的和。 例如优美数有4,200000,10203,其中4的优美度是4,200000的优美度是2,10203的优美度是6. 数字4231,102306,7277420000,就不是啰。
现在问在【L,R】中,有多少个优美度为x的优美数

核心函数:

问题核心:
• 数字分离:按位分离存放在数组中,个位十位百位……逆序存放,记录位数

• 可能种数:分为1个数字、2个数字之和、3个数字之和,可以写算法,但数据有限且固定,最好打表

○ 1个数字:(首位特殊判断,大于可放置)某一位放置该数字,后面位序置0,可能种数和位数有关
○ 2个数字:(首位特殊判断,转化成首位边界与1个数字的种数,注意取值范围,如果前位不为0后面都可取)某两位放置2个数字(有序),其余位序置0,可能数和位数及排列组合有关
○ 3个数字:(首位特殊判断,转化成首位边界与2个数字的种数,注意取值范围,前位不为0后面都可取,两个数字考虑情况多些)某三位放置3个数字(有序),其余置0,可能种数和位数及排列组合有关
• 排列组合:C(n,m)的函数,在n个数中取m个的可能情况
区间内种数:上届-下届(注意上届包含边界,下届不包含边界)

posted @ 2019-08-19 09:58  路过的都是大佬  阅读(233)  评论(0编辑  收藏  举报