数码平方和
1、题目内容
Description
一个整数各个数码的平方和的个位数称为它的分类值。给你一个区间[a,b],和一个数码n,请求这个区间内多少数的分类值为n。
输入
第一行是一个整数K,表示样例的个数。每个样例占一行,为三个整数a,b,n(1<=a<=b<=100,000,0<=n<=9)。
输出
每行输出一个样例的结果。
Sample Input
4
1 9 4
11 19 5
12 13 8
1 1000 6
Sample Output
2
2
0
120
2、题目分析
根据题目意思,我们要将区间内的每一个数都要进行一次判断。即先将每个数的各位数码平方和求出来,判断它的个位数是不是满足分类值为n,进行计数即可。
3、解题代码
#include<stdio.h>
int main()
{
int k; //样例数
scanf("%d",&k);
while(k--)
{
int a,b,n;
scanf("%d %d %d",&a,&b,&n);
int count=0; //记录有多少的数分类值为n
int t;
for(int i=a;i<=b;i++) //区间里的每个值都判断一遍
{
int sum=0; //求数码的平方和
t=i;
while(t)
{
sum=sum+(t%10)*(t%10);
t/=10;
}
if(sum%10==n) //平方和的个位是不是为n咧,判断了一下
{
count++;
}
}
printf("%d\n",count); //输出
}
return 0;
}