#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。