该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
读写要求
本题采用文件读写,请在提交代码时使用正确的文件读写方式,否则会导致 RE
输入:triple.in
输出:triple.out
题目描述
给定一个非负整数 n(n≥0)。如果一个非负整数三元组 (a,b,c) 满足 a+b+c=n,并且 digsum(a)+digsum(b)+digsum(c)=digsum(n),则称其为“好三元组”。其中 digsum(x) 表示数字 x 的各位数字之和。
例如,如果 n=26,则三元组 (4,12,10) 是一个好三元组,因为 4+12+10=26,并且 4+(1+2)+(1+0)=2+6。
你的任务是,对于给定的整数 n,求出好三元组的数量。三元组中数字的顺序不同视为不同的三元组。例如,(4,12,10) 和 (10,12,4) 被认为是两个不同的三元组。
输入格式
第一行输入一个整数 t(1≤t≤104),表示测试用例的数量。接下来每个测试用例一行,包含一个整数 n(0≤n≤107)。
输出格式
对于每个测试用例,输出一个整数,表示对应 n 的好三元组数量。三元组中数字的顺序不同视为不同的三元组。
输入输出样例
12
11
0
1
2
3
4
5
3141
999
2718
9999999
10000000
9
1
3
6
10
15
21
1350
166375
29160
1522435234375
3
说明/提示
在第一个样例中,好三元组有 (0,0,11),(0,1,10),(0,10,1),(0,11,0),(1,0,10),(1,10,0),(10,0,1),(10,1,0),(11,0,0)。
在第二个样例中,只有一个好三元组 (0,0,0)。