华师一附中OI组

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1175|回复: 4
打印 上一主题 下一主题

P1179 数字统计

[复制链接]

738

主题

1485

帖子

5420

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5420
跳转到指定楼层
楼主
发表于 2018-4-19 14:16:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
题目描述
请统计某个给定范围[L, R]的所有整数中,数字 2 出现的次数。

比如给定范围[2, 22],数字 2 在数 2 中出现了 1 次,在数 12 中出现 1 次,在数 20 中出

现 1 次,在数 21 中出现 1 次,在数 22 中出现 2 次,所以数字 2 在该范围内一共出现了 6

次。

输入输出格式
输入格式:
输入文件名为 two.in。

输入共 1 行,为两个正整数 L 和 R,之间用一个空格隔开。

输出格式:
输出文件名为 two.out。

输出共 1 行,表示数字 2 出现的次数。

输入输出样例
输入样例#1:
【输入样例1】
2 22
【输入样例2】
2 100
输出样例#1:
【输出样例1】
6
【输出样例2】
20
说明
1 ≤ L ≤R≤ 100000。

回复

使用道具 举报

4

主题

21

帖子

89

积分

注册会员

Rank: 2

积分
89
沙发
发表于 2018-4-22 22:10:38 | 只看该作者
数字统计
#include<iostream>
using namespace std;
int main()
{
    long long a,b,s=0,n;
    cin>>a>>b;
    for(int y=a;y<=b;y++)
    {
        n=y;
        while(n!=0)
        {
            if(n%10==2) s++;
            n/=10;
        }
    }
    cout<<s;
        return 0;
}
回复 支持 反对

使用道具 举报

3

主题

50

帖子

365

积分

中级会员

Rank: 3Rank: 3

积分
365
板凳
发表于 2018-5-22 22:45:20 | 只看该作者
本帖最后由 WJL 于 2018-8-10 16:10 编辑
  1. #include<iostream>
  2. using namespace std;
  3. int a,b,i,k,n;
  4. int main()
  5. {
  6.     cin>>a>>b;
  7.     while(i=a; i<=b; i++)
  8.     {
  9.         k=i;
  10.         while(k!=0)
  11.         {
  12.             if(k%10==2)
  13.                 s++;
  14.             k/=10;
  15.         }
  16.     }
  17.     cout<<s;
  18. }
  19. return 0;
  20. }
复制代码
回复 支持 反对

使用道具 举报

3

主题

50

帖子

365

积分

中级会员

Rank: 3Rank: 3

积分
365
地板
发表于 2018-5-22 22:46:50 | 只看该作者
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|服务支持:DZ动力|华师一附中OI组  

GMT+8, 2024-11-2 06:25 , Processed in 0.101726 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表