#XMCSPX2023B. 传送密码(password)
传送密码(password)
问题描述
微信交流非常方便,但也会有安全隐患,特别是在微信上传送密码是非常 不好的习惯,为了提升安全性,小明设计一个了与朋友传送六位数字密码的方 法,具体如下:小明给朋友发送两个整数 a 和 b,并发送6个无序的正整数,这 6 个正整数为 a 除以 b 所得商的小数点之后的位数,而密码就是小数点后的这6 个位置上的数字。
输入
共两行,
第一行为两个整数 a,b;
第二行为 6 个整数,分别为:x1,x2,x3,x4,x5,x6。
输出
共一行,六个数字,因为是密码,六个数字之间没有空格。
样例
1 7
3 1 10 5 6 8
218574
样例解释
1/7=0. 14285714286……,小数点后第 3 位的数字为2,第1位的数字为1, 第 10 位的数字为 8,第 5 位的数字为 5,第 6 位的数字为7,第8位的数字为4, 所以六位数字的密码为:218574 。
数据范围
对于所有测试数据有:0<a<b< 100,1≤ x1,x2,x3,x4,x5,x6 ≤10000。
测试点编号 | 特殊性质 | 1≤ x1,x2,x3,x4,x5,x6 ≤ |
---|---|---|
1,2 | A | 6 |
3,4 | 否 | 15 |
5,6 | B | 10000 |
7,8 | C | |
9,10 | 否 |
其中:
特殊性质 A:保证 a/b 的商为有限小数,且小数点后从第 7 位开始往后(含 第 7 位)都为 0;
特殊性质 B:保证 a/b 的商为无限循环小数,且最大从第 6 位(含第6位) 开始往后均为一个数字的无限循环,例:0.3277777……,从第3位开始一个数 字循环,保证循环起始位不会超过小数点后第 6 位;
特殊性质 C:保证 a/b 的商为无限循环小数,且循环位数在 3 位(含3位) 及以内,保证循环起始位不会超过小数点后第 6 位,同时,x1、x2、x3、x4、 x5、x6 所标记的位置在小数的循环位里。例:0.72313131……,循环为“31” 两个数字,循环位数为 2 位,从第 3位开始循环,故保证 x1、x2、x3、x4、x5、 x6 均大于等于 3。