#对于网络上的题的解题答案是在不行,我一个新萌为了以后的新萌,决定发布文章
题目描述
试计算在区间 1到 n 的所有整数中,数字 x(0≤x≤9)共出现了多少次?例如,在 1 到 11 中,即在 1,2,3,4,5,6,7,8,9,10,11中,数字 1出现了 4 次。
输入格式
2个整数 n,x,之间用一个空格隔开。
输出格式
1个整数,表示 x 出现的次数。
输入输出样例
输入
11 1
输出
4
以下是cpp语言的解法:
#include<iostream>
using namespace std;
int ans = 0;
int f1(int n,int x){
int a;
for(a = n;a>0;a/=10){
if(a%10==x){
ans ++;
}
}
}
int main(){
int n,x;
cin>>n>>x;//n为下界,x为出现的数字
int i;
for(i=1;i<=n;i++){
f1(i,x);
}
cout<<ans;
return 0;
}
以下是c语言解法:
#include<stdio.h>
int ans = 0;
int f1(int n,int x){
int a;
for(a = n;a>0;a/=10){
if(a%10==x){
ans ++;
}
}
}
int main(){
int n,x;
scanf("%d %d",&n,&x); //n为下界,x为出现的数字
//n = 12;
//x = 0;
int i;
for(i=1;i<=n;i++){
f1(i,x);
}
printf("%d",ans);
return 0;
}
我觉得思路为:
1、一个数取余判断是否为出现的数字(需要循环)
2、遍历所有的数
3、做一个循环结合以上的两点