题目描述:
定义土仙花数为各个数位乘积与该数本身的差的绝对值不超过 k 的数。
给定n,k,求不大于 n 的正整数中,土仙花数的个数。
输入格式:
两个正整数:n和 k 。
输出格式:
一个整数表示答案。
样例输入1:
10 1
样例输出1:
9
约定:
1<=n<=10000
1<=k<=200
#include<bits/stdc++.h>
using namespace std;
int txh(int x,int k)
{
int n,sum=1,cnt=0,y;
for(int i=1;i<=x;i++)
{
n=i;
y=i;
while(n!=0)
{
sum=sum*(n%10);
n/=10;
}
if(abs(sum-y)<=k) cnt++;
sum=1;
}
return cnt;
}
int main()
{
int t,y;
cin>>t>>y;
cout<<txh(t,y);
return 0;
}
提示: