题目描述
求含有数字a且不能被a整除的4位整数的个数,并求这些整数的和
输入
多组测试数据,先输入整数T表示组数然后每组输入1个整数a(1<=a<=9)
输出
对于每组测试数据输出一行,每行2个数分别是个数与和
样例输入 Copy
1 3
样例输出 Copy
2112 10568016
#include <stdio.h>
// 函数用于检查一个数字是否包含数字a并且不能被a整除
int is_valid_number(int number, int a) {
if (number % a == 0) // 能被a整除
return 0;
// 检查数字是否包含数字a
while (number > 0) {
if (number % 10 == a)
return 1;
number /= 10;
}
return 0;
}
int main() {
int T;
scanf("%d", &T);
while (T--) {
int a;
scanf("%d", &a);
int count = 0; // 满足条件的数字个数
long long sum = 0; // 满足条件的数字总和
// 遍历所有的四位整数
for (int num = 1000; num <= 9999; num++) {
if (is_valid_number(num, a)) {
count++;
sum += num;
}
}
printf("%d %lld\n", count, sum);
}
return 0;
}