题目描述
我们把一个数的数位之和大于10,并且这个和是一个回文数的数叫做jam数。
现在输入一个数n,求1到n之间有多少个jam数。
例如8842,各位数和8+8+4+2 = 22,并且22是个回文数。所以8842是jam数。
输入
一个正整数n。
输出
一个正整数,表示jam数的个数。
样例输入
40
样例输出
2
#include<iostream>
#include<algorithm>
#include<iomanip>
using namespace std;
int a[10000000];
bool hws(int number)
{
int n = 0;
int m = number;
while(m != 0)
{
n = n*10 + m %10;
m = m /10;
}
if(n==number)
return true;
else
return false;
}
int main(){
int n,s=0,s2=0,b;
cin>>n;
for(int i=29;i<=n;i++){
b=i;
while(b){
s+=b%10;
b/=10;
}
if(hws(s)&&s>10){
s2++;
}
s=0;
}
cout<<s2;
return 0;
}