2-5 分数化小数
先输出整数部分,然后按照c的大小逐位输出小数的部分,最后一位记得判断是否大于5,大于5需要四舍五入!
2-6 排列
用1,2,3,.。。,9组成3个三位数,每个数字只能出现一次,三个数比值为1:2:3. 这一题不需要想的太复杂,直接枚举123-333之间的数a,对a,2a,3a逐位取余数,并用mark数组记录1-9数字使用情况来做判断。
例题:3-5 生成元
题目:如果x加上x各个数字之和等于y,就说x是y的生成元,求输入数的最小生成元。
方法:类似素数筛法,先枚举1-100000以内所有正整数的m,求他们各自的和y,ans[y]=m,输入数字时直接查表即可得到结果。
例题:3-6 环状序列
输入字符串,长度可以测出为n,看成一个长度为n的环,顺时针方向即有n种表示方法,输出最小的字典序。
方法:该题有一个较难处理的点,即利用什么方式表示环,例题解给出一个较为巧妙的方法。
s[(p+i)%n],其中,n为数组的长度,p为初始的点。i为0-n-1的循环,具体可以看书上题解理解。