统计求和
Description
求含有数字a且不能被a整除的4位整数的个数,并求这些整数的和
Input
多组测试数据,先输入整数T表示组数然后每组输入1个整数a(1<=a<=9)
Output
对于每组测试数据输出一行,每行2个数分别是个数与和
Sample Input
1 3
Sample Output
2112 10568016
#include<stdio.h>
int zhengchu(int n,int a)
{
if(n%a!=0)
{
if(n%10==a||n/10%10==a||n/100%10==a||n/1000%10==a)
return 1;
else
return 2;
}
else
return 3;
}
int main()
{
int t;
while(scanf("%d",&t)!=EOF)
{
int i;
for(i=0;i<t;i++)
{
int n;
int j;
int count=0;
int sum=0;
scanf("%d",&n);
for(j=1000;j<=9999;j++)
{
if(zhengchu(j,n)==1)
{
count++;
sum+=j;
}
}
printf("%d %d\n",count,sum);
}
}
}
#include <stdio.h>
int main(){
int judge(int a,int n);//定义判断函数,判断a是否是n中的一个数
int T,a,i;
scanf("%d",&T);//测试组数T
while(T--) {
int sum=0,count=0;//初始化个数与和为0,避免累加上组的结果
scanf("%d",&a);
for(i=1000;i<=9999;i++){
if(judge(a,i)==1&&i%a!=0){//满足两个条件
count++;
sum+=i;
}
}
printf("%d %d\n",count,sum);
}
return 0;
}
int judge(int a,int n)
{
for(;n!=0;n/=10)//每次取n的个位数,之后将n除以10,即向右移一位
if(n%10==a)return 1;//函数在运行return语句之后就会结束,即使之后还有语句也不会执行
return 0;
}

浙公网安备 33010602011771号