南阳理工NYOJ 975关于521
来源:互联网 发布:网络诈骗法律经验 编辑:程序博客网 时间:2024/05/17 21:53
关于521
时间限制:1000 ms | 内存限制:65535 KB
难度:2
- 描述
Acm队的流年对数学的研究不是很透彻,但是固执的他还是想一头扎进去。
浏览网页的流年忽然看到了网上有人用玫瑰花瓣拼成了521三个数字,顿时觉得好浪漫,因为每个男生都会不经意的成为浪漫的制造者。此后,流年走到哪里都能看到5、2、1三个数字,他怒了,现在他想知道在连续的数中有多少数全部包含了这三个数字。例如12356就算一个,而5111就不算。特别的,如果他看到了521三个数连续出现,会特别的愤怒。例如35210。
- 输入
- 多组测试数据:
一行给定两个数a,b(0<a,b<1000000),表示数字的开始和结束。 - 输出
- 一行显示他想要知道的数有几个及显示有多少个数字令他特别的愤怒。用空格隔开。
- 样例输入
200 500300 9001 600
- 样例输出
Case 1:2 0Case 2:2 1Case 3:6 1
这是一道数据结构题,有两个新知识:
strstr()函数搜索一个字符串在另一个字符串中第一次出现的地址,如果没有,则返回NULL
strchr()查找字符串s中首次出现字符c的位置
sprintf(s,“%d‘,n)字符串格式化命令,将格式化数据写入某个字符串中
01.
#include<stdio.h>
02.
#include<stdlib.h>
03.
#include<string.h>
04.
int
m[1000005],n[10000005];
05.
int
main()
06.
{
07.
int
a,b,t=0,k=0,i,f,j,c,d,e,v=1;
08.
char
s[10];
09.
memset
(m,0,
sizeof
(m));
10.
memset
(n,0,
sizeof
(n));
11.
for
(i=125; i<=1000005; i++)
12.
{
13.
j=i,f=0;
14.
memset
(s,
'\0'
,
sizeof
(s));
15.
sprintf
(s,
"%d"
,j);
16.
d=
strlen
(s);
17.
if
(
strchr
(s,
'1'
)&&
strchr
(s,
'2'
)&&
strchr
(s,
'5'
))
18.
{
19.
t++;
20.
if
(
strstr
(s,
"521"
))
21.
k++;
22.
}
23.
m[i]=t;
24.
n[i]=k;
25.
}
26.
while
(
scanf
(
"%d%d"
,&a,&b)!=EOF)
27.
{
28.
printf
(
"Case %d:%d %d\n"
,v++,m[b]-m[a-1],n[b]-n[a-1]);
29.
}
30.
return
0;
31.
}
0 0
- 南阳理工NYOJ 975关于521
- 南阳理工---题目975关于521
- 南阳理工ACM975--关于521
- 南阳理工 987关于521
- 南阳理工 nyoj 276 比较字母大小
- nyoj 南阳理工63小猴子下落
- 南阳理工NYOJ 多边形重心问题
- 南阳975 关于521
- 15括号匹配(二)南阳理工NYOJ
- 南阳理工:水仙花数
- 南阳理工:韩信点兵
- 南阳理工:成绩转换
- 南阳理工:众数问题
- 南阳理工:组合数
- 南阳理工:日期计算
- 南阳理工:整除个数
- 南阳理工:字母统计
- 南阳理工:小学生算术
- 老师语录
- TCP/IP 相关总结
- java实现大数加法
- 理论知识总结
- 第八周第一天
- 南阳理工NYOJ 975关于521
- HDU--1213并查集
- poj 1321 棋盘问题
- 如何检查 Android 应用的内存使用情况
- 算法系列--Reverse Integer
- java实现大数取模
- 逻辑覆盖
- Maven的HTTP代理设置
- C++Primer第五版 5.3.2节练习