主题:[投票]新年出几题给大家做做!!!答对给分!
905482852
[专家分:380] 发布于 2010-02-17 18:26:00
良序数
一个多位数,如果它的高位数字依次都比低位数字小,则称之为良序数。如:189、145等。请编程统计出M至N之间的所有良序数的个数。(10<M<N<=9999999)
例如,输入:100 140 输出:13
[em1]
回复列表 (共17个回复)
11 楼
雪光风剑 [专家分:27190] 发布于 2010-02-22 09:16:00
小学就在做这种题……早做腻了,复习下语法的话QB PASCAL和C一样写一个都不是问题
写个伪代码级别的算法先:
输入M,N
入参检验
count=0
for i=m to n
ch=i
count+1
while ch>10
if ch的最后一位不大于倒数第二位
count-1
跳出本层循环
ch整除10
输出count
不就这么简单的事么……无聊
12 楼
雪光风剑 [专家分:27190] 发布于 2010-02-22 09:17:00
小弟弟……我也是7年信息学奥林匹克打过来的……有锐气和激情是好的,但是太张扬并不好
13 楼
905482852 [专家分:380] 发布于 2010-02-22 14:48:00
我才打了1年........
14 楼
905482852 [专家分:380] 发布于 2010-02-22 14:49:00
你能写个用qb编的程序吗?谢了
15 楼
雪光风剑 [专家分:27190] 发布于 2010-02-22 23:56:00
看懂伪代码写程序这是oi的基础中的基础,不要图省事了,自己写写试试吧……伪代码详细到我那个程度基本上就已经接近代码本身了。算法导论里的伪代码也就是这样了
16 楼
小勇士来了 [专家分:220] 发布于 2010-03-06 18:48:00
良序数
一个多位数,如果它的高位数字依次都比低位数字小,则称之为良序数。如:189、145等。请编程统计出M至N之间的所有良序数的个数。(10<M<N<=9999999)
例如,输入:100 140 输出:13
input n,m
for i=n to m
a=int(i/100)
b=int((i-a*100)/10)
c=i-a*100-b*10
if a<b and a<c then
k=k+1
end if
next i
print k
17 楼
liudan319 [专家分:3780] 发布于 2010-03-07 19:11:00
[quote]良序数
一个多位数,如果它的高位数字依次都比低位数字小,则称之为良序数。如:189、145等。请编程统计出M至N之间的所有良序数的个数。(10<M<N<=9999999)
例如,输入:100 140 输出:13
input n,m
for i=n to m
a=int(i/100)
b=int((i-a*100)/10)
c=i-a*100-b*10
if a<b and a<c then
k=k+1
end if
next i
print k[/quote]
上面的不准确,鉴定完毕
我来回复