NOIP2010普及组--数字统计

分析;一个循环就可以搞定,但是时间有点长,现在还在改善,初步代码如下:

ps:注意一个数中若有多个2都要算

 1 #include <stdio.h>
 2 int main(int argc, char *argv[])
 3 {
 4     int l,r,i;
 5     int num=0;
 6     int s;
 7     freopen("two.in","r",stdin);
 8     freopen("two","w",stdout);
 9     scanf("%d%d",&l,&r);
10
11     for(i=l;i<=r;i++)
12     {
13         s=i;                        //s代表当前处理数
14         do
15         {
16             if((s%10)==2)             //看个位是否为2
17             {
18                 num++;
19             }
20             s=s/10;                    //将个位舍去
21         }
22         while(s>0);
23     }
24     printf("%d",num);
25     fclose(stdin);
26     fclose(stdout);
27     return 0;
28 }
时间: 2024-08-25 11:59:06

NOIP2010普及组--数字统计的相关文章

noip2010普及组初赛

第十六届全国青少年信息学奥林匹克联赛初赛试题 ( 普及组 Pascal 语言 两小时完成) ●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 ●● 一. 单项选择题(共20题,每题1.5分,共计30分.每题有且仅有一个正确答案.) 1.2E+03表示(   ).A.2.03              B.5                 C.8                 D.2000 2.一个字节(byte)由(  )个二进制位组成.A.8                 B.

NOIP2010普及组T3 接水问题 ——S.B.S.

题目描述 学校里有一个水房,水房里一共装有 m 个龙头可供同学们打开水,每个龙头每秒钟的 供水量相等,均为 1. 现在有 n 名同学准备接水,他们的初始接水顺序已经确定.将这些同学按接水顺序从 1到 n 编号,i 号同学的接水量为 wi.接水开始时,1 到 m 号同学各占一个水龙头,并同时打开水龙头接水.当其中某名同学 j 完成其接水量要求 wj后,下一名排队等候接水的同学 k马上接替 j 同学的位置开始接水.这个换人的过程是瞬间完成的,且没有任何水的浪费.即j 同学第 x 秒结束时完成接水,则

noip2011普及组T2 统计单词数(stat) KMP算法

才学了KMP,拿这题来练练手……(不过似乎有点小题大做了…… 这就是一题水水的KMP模板,匹配若干次,每一次从上次匹配后的位置开始,直到匹配失败. 虽然用的算法“高级”一点,但是居然比暴力慢了40MS啊啊啊…… Code: 1 #include<iostream> 2 using namespace std; 3 const int P=15; 4 const int S=1000005; 5 char p[P],s[S]; 6 int next[P],pl,sl; 7 void getnex

NOIP2010普及组 三国游戏 -SilverN

1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cmath> 5 using namespace std; 6 int d[510][510]; 7 int n; 8 int fst,snd,ans; 9 int main(){ 10 scanf("%d",&n); 11 int i,j,x; 12 for(i=1;i<n;i+

noip2011——普及组——数字反转

傻逼题,不讲了. #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int t=1,num=0;char c=getchar(); inline int read(){ while(c>'9'||c<'0'){if(c=='-')t=-1;c=getchar();} while(c>='0'&&

05:统计单词数【NOIP2011复赛普及组第二题】

05:统计单词数 总时间限制:  1000ms 内存限制:  65536kB 描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数. 现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置.注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例1),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样

AC日记——数字统计 openjudge 1.5 41

41:数字统计 总时间限制:  1000ms 内存限制:  65536kB 描述 请统计某个给定范围[L, R]的所有整数中,数字2出现的次数. 比如给定范围[2, 22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次. 输入 输入共 1 行,为两个正整数 L 和 R,之间用一个空格隔开. 输出 输出共 1 行,表示数字 2 出现的次数. 样例输入 样例 #1: 2 22 样例 #2: 2 100 样

[NOIP2013] 普及组

计数问题 纯模拟 1 #include<cstdio> 2 #include<iostream> 3 using namespace std; 4 int main(){ 5 int n,x; 6 cin>>n>>x; 7 int i,c=0; 8 for(i=1;i<=n;i++){ 9 int a=i; 10 while(a!=0){ 11 if(a%10==x)c++; 12 a/=10; 13 } 14 } 15 cout<<c;

NOIP2010提高组乌龟棋 -SilverN

题目背景 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物. 题目描述 乌龟棋的棋盘是一行N个格子,每个格子上一个分数(非负整数).棋盘第1格是唯一的起点,第N格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点. 乌龟棋中M张爬行卡片,分成4种不同的类型(M张卡片中不一定包含所有4种类型的卡片,见样例),每种类型的卡片上分别标有1.2.3.4四个数字之一,表示使用这种卡片后,乌龟棋子将向前爬行相应的格子数.游戏中,玩家每次需要从所有的爬行卡片中选择一张之前没有使用过的爬行卡片,控制乌龟棋子前