给定数据组数 T,每组输入一个整数 x。要求对 x 的各数位进行重新排列,得到新的数字 y(排列时必须改变原有顺序,即不能保留原来的排列),同时重排后的数字在转换为整数时忽略前导零。要求统计有多少个 y 满足其各位数字之和为质数。
首先计算给定数字的数位和,并判断该和是否为质数;如果是质数,则利用组合数学公式计算所有可能的全排列数(考虑重复数字的情况),再减去原始排列得到答案;如果数位和不是质数,则直接输出零。
小红给定一个数字x,现在她准备把其数位上的数字重新排列,例如x=213,重排后可以是[123,132,231,312,321],但不能是213,因为其没有进行重排,又例如10,仅存在[1],重排后的 数字忽略掉前导零。
现在请你帮助小红计算有多少个重排后的数字y,使得其数位之和是一个质数。
第一行一个整数T(1≤T≤105),表示数据组数,对于每组数据格式为:
一个整数x(1≤x≤109),表示给定的数字。
对于每组数据,每行输出一个整数,表示满足条件的数字个数。
输入
3
213
10
102
输出
0
0
5