#5372. 传送密码(2023厦门小学生c++竞赛第二题)

传送密码(2023厦门小学生c++竞赛第二题)

传送密码(2023厦门小学生c++竞赛第二题)

【题目描述】

微信交流非常方便,但也会有安全隐患,特别是在微信上传送密码是非常不好的习惯,为了提升安全性,小明设计一个了与朋友传送六位数字密码的方法,具体如下:小明给朋友发送两个整数 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        10000
9,10      否       10000

其中:

特殊性质 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。