回 帖 发 新 帖 刷新版面

主题:[投票]新年出几题给大家做做!!!答对给分!

良序数
一个多位数,如果它的高位数字依次都比低位数字小,则称之为良序数。如:189、145等。请编程统计出M至N之间的所有良序数的个数。(10<M<N<=9999999)
例如,输入:100 140      输出:13
[em1]

回复列表 (共17个回复)

11 楼

小学就在做这种题……早做腻了,复习下语法的话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 楼

小弟弟……我也是7年信息学奥林匹克打过来的……有锐气和激情是好的,但是太张扬并不好

13 楼

我才打了1年........

14 楼

你能写个用qb编的程序吗?谢了

15 楼

看懂伪代码写程序这是oi的基础中的基础,不要图省事了,自己写写试试吧……伪代码详细到我那个程度基本上就已经接近代码本身了。算法导论里的伪代码也就是这样了

16 楼

良序数
一个多位数,如果它的高位数字依次都比低位数字小,则称之为良序数。如: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 楼

[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]
上面的不准确,鉴定完毕

我来回复

您尚未登录,请登录后再回复。点此登录或注册