问题标题: 酷町堂:3725

0
0
已解决
薛新奥
薛新奥
新手光能
新手光能

3725   出现次数

题目描述 Description

输入一个正整数n(最大不超过long long),再输入一个整数m(m小于等于n的位数),求整数n中的从右到左的第m个数字,在整数n中的个数。

输入描述 Input Description

输入两个空格隔开的整数n 、m

输出描述 Output Description

输出第m个数在n中出现的次数。

样例输入 Sample Input

1223334444 5

样例输出 Sample Output

3

数据范围及提示 Data Size & Hint

从右往左第5个数是3,3在1223334444中出现了3次。

哪儿错了?

#include<iostream>
#include<cmath>
#include<cstdio>
#include<iomanip>
#include<cstring>
#include<algorithm>
#include<sstream>
#include<queue>
#include<vector>
#include<stack>
#include<cstdlib>
#include<string>
using namespace std;
int main()
{
 long long n,m,s=0,i=0,c=0;
 cin>>n>>m;
 for(i=1;i<=m;i++){
  s=n%10;
  n/=10;
 }
 while(n!=0){
        if(n%10==m)
            c++;
        n/=10;
    }
    return 0;
}


0
已采纳
王子健
王子健
初级天翼
初级天翼

这一题我没有使用取数位的方法来写

我是利用字符串和字符来写的

主要内容如下:

定义一个字符串和一个字符(string      char)

接着来一个计数器和要输入的第二个东西(int)

在循环里找符合条件的东西

循环中把字符(char)的值改为“a[a.size()-b]”(这里的b是输入的整形变量)这样可求在字符串中的位置,然后用字符替换。

最后再循环里判断字符串(string)是否等于字符(char)计数器加加。

最后输出计数器。

0
我要回答