我将尽我所能解释本题 可能会不太准确,将就着看吧 做这道题首先我们要先对数据进行

先输入及打完源代码

include <bits/stdc++.h>
using  namespace std;
long long m=0,d=0;
int main() {
	int n,x; 
	int k=1;
	cin>>n>>x;
	m=1;
	
	return 0;
}

在进行遍历(1-n)的所有数

for(int i=1;i<=n;i++)
	{
		
			
	}

拆数并对比

while(m!=0)//拆到这个数等于0
	{
		k=m%10;//先取余数得到末尾存入临时变量k
		m/=10;//删除末尾
		if(k==x)//对比如果一样计数变量d++
		{
			d++;
		}
	}
//x为输入的数,d为结果

最后输出

cout<<d;

下面让我们合并起来

#include <bits/stdc++.h>
using  namespace std;
long long m=0,d=0;//m为临时储存变量储存i,d为计数变量记下x出现的次数 
int main() {
	int n,x; 
	int k=1;//临时变量储存拆开的数 
	cin>>n>>x;//输入 
	for(int i=1;i<=n;i++)//遍历1-n之间的所有数 
	{
		m=i;//临时储存变量 
		while(m!=0)//拆到这个数等于0
		{
			k=m%10;//先取余数得到末尾存入临时变量k
			m/=10;//删除末尾
			if(k==x)
			{
				d++;//对比如果一样计数变量d++
			}
		}
			
	}
	cout<<d;//输出计数变量d 
	return 0;
}

0 comments

No comments so far...