| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1893 人关注过本帖
标题:怎样计数?
只看楼主 加入收藏
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
回复:(args)怎样计数?
以下是引用args在2006-6-17 1:10:45的发言:

输入两个数a和b,然后计算出中间除了尾数是4或7之外有多少个数

例如输入a=1和b=20,其中有4个尾数是4或者7的数,所以中间总共有16个数

算法分析:
1。不难看出,连头带尾在内每10个数中总有1个尾部为4的、1个尾部为7的,所以有8个符合要求。因此至少有(b-a+1)/10*8个符合条件的数
2。零头处理:等价于从 a%10 到 b%10 里面含几个合乎要求的数。
3。代码:
#include<stdio.h>
main( )
{
int a,b,n;
scanf("%d %d",&a,&b);
n = (b-a+1)/10*8;
//楼主自行尝试填充此处,好吗?
printf("There are %d numbers OK.\n",n);
}


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-17 13:26
args
Rank: 1
等 级:新手上路
帖 子:266
专家分:0
注 册:2006-5-22
收藏
得分:0 
楼上的,好象不是 这么简单吧,还有 判断输入的 那 两个 数是否尾数为 四或七 ,

那条式碰到 特殊情况是行不通的^^^^

2006-06-17 22:41
args
Rank: 1
等 级:新手上路
帖 子:266
专家分:0
注 册:2006-5-22
收藏
得分:0 

因为输入的两个数不会是一到十这样,或者是三到八,四到七。。。


2006-06-17 22:46
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
偶是遵照您在2楼越简单越好的指示执行的呀!

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-18 05:42
args
Rank: 1
等 级:新手上路
帖 子:266
专家分:0
注 册:2006-5-22
收藏
得分:0 
简单是建立在处理好特殊情况的基础上吧……

是这样的,客户公司的卡都是有号码的,

而号码要跳开末位是4或7的数不要,而且要算出卡的数量

所以才了这个疑问,我一开始也想象和楼上一样,

可是后来发现,输入的开始号和结束号不一定是从0到9,会可以是特殊情况

例如一开始就输入个 823557 和 823564,那就必须先跳过,

然后中间有多少个数,按楼上的式子,开始号823556和823558得出的结果是不同的,

因为每十个里面有八个是建立在从3开始的以8结尾的基础上,但如果输入的在3和8之间,那就是特殊情况

式子不合用……

2006-06-18 13:00
args
Rank: 1
等 级:新手上路
帖 子:266
专家分:0
注 册:2006-5-22
收藏
得分:0 
所以应分为四种情况,开始号和结束号分别在3和8之间还是在3和8之外的情况

2006-06-18 13:01
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-06-18 13:53
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 

楼上的..人家要算法.不是穷举..要是穷举的话俺的就可以了!


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-06-18 14:15
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-06-18 14:19
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
1.如果你全部浏览过跟贴.那么你发的那个帖子就是白发
2.如果你没浏览过.那么你就更不应该乱发.
3.如果你能研究出1+2=3的第1002种算法.那你就...(不用我说了吧)

[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-06-18 14:27
快速回复:怎样计数?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029868 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved