注册 登录
编程论坛 C语言论坛

猜数字(C++)

Jason_ 发布于 2020-02-21 21:51, 1695 次点击
题目描述
味味最近在玩猜数字的游戏,现在她也希望你来玩一下这个游戏。猜数字游戏的规则是 这样的,告诉你一个正整数 n(2<=n<=11),然后味味心中会想一个 n 个数字组成的数字串 (数字串最前面若干位可能是 0)。味味会随意排列 n 位数上的数字,这样可能产生 n!个 n 位数。(n!=1×2×3×4×5×……×n,n!念作“n 阶乘”). 比如味味想了一个三位数 abc,那么一共会产生六个三位数,分别为 abc,acb,bac,bca,cab,cba 然后味味会把这 n!个 n 位数求和得到 S(若某数第一位开始有若干个 0,则求和时这 些 0 舍去。如有数“0123”,则求和时加到 s 中的值是 123),她会告诉你总和 S 减去她心 中想的那个数的值,请你猜出味味心中想的那个数。
输入
输入文件 guess.in 共包含两行。第一行一个整数 n(含义如前面所述),第二行一个正 整数 S,表示 n!个数的总和减去味味心中那个数的值。
输出
输出文件 change.out 共一行一个数,表示味味心中想的那个 n 位数(测试数据保证存在 唯一解)。如果该数第一位开始有若干个 0,则输出时这些 0 也必须输出(详见样例 3)。
2 回复
#2
xianfajushi2020-02-22 06:16
(详见样例 3)样例 3在哪?
#3
Jason_2020-02-22 17:12
回复 2楼 xianfajushi
不好意思,样例忘记贴了:
样例
输入1  复制
3
1209
输出1  复制
123
输入2  复制
4
45440
输出2  复制
1222
输入3  复制
2
90
输出3  复制
09
1