首页 > 学院 > 开发设计 > 正文

HDU杭电acm2089-不要62

2019-11-11 03:47:36
字体:
来源:转载
供稿:网友

题目地址:http://acm.hdu.edu.cn/showPRoblem.php?pid=2089

/*********************************************************************************

这个题第一思路就是对区间内的每一个数字进行检测,但是遇到了一个问题,超时。

那么就不能在每次输入n,m后进行寻找吉利数,而是在输入数据之前就用数组记录下所有数据。

/***********************************************************************************

代码如下:

/****************

#include<stdio.h>int a[1000005];//存储从1到i的吉利数个数 int f(int i){	while(i)	{		if(i%10==4||i%100==62)			return 1;		i=i/10;	}	return 0;}void r(){	a[0]=0;	for(int i=1;i<1000005;i++)	{		if(f(i))//含有4或62 			a[i]=a[i-1];		else			a[i]=a[i-1]+1; 	}}int main(){	int n,m;	r();	while(scanf("%d%d",&n,&m),n!=0||m!=0)	{		printf("%d/n",a[m]-a[n-1]);	}	return 0;}


上一篇:编程练习3.2

下一篇:编程练习3.2

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表