| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1049 人关注过本帖
标题:关于算法的问题
只看楼主 加入收藏
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏(1)
得分:0 

相互学习,互相交流,共同提高。
2013-06-15 13:54
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
收藏
得分:20 
SET ESCAPE OFF
CLEAR
LOCAL str1
input '请输入一个正整数:' to n
CLEAR
WAIT WINDOW '按 ESC 退出...' nowait
DIMENSION arr1(n)
STORE 9 TO arr1
DO whil .t.
    str1=prg1(@arr1)
    IF str1==REPLICATE("0",ALEN(arr1))
        EXIT
    ELSE
        ?str1
    ENDIF
    IF INKEY()=27
        EXIT
    ENDIF
ENDDO
WAIT CLEAR
RETURN

FUNCTION prg1(arr1)
    LOCAL i1,i2,i3,str1
    i1=ALEN(arr1)
    str1=''
    FOR i2=1 TO i1
        str1=str1+TRANSFORM(arr1[i2])
    ENDFOR
    IF str1<>REPLICATE("0",i1)
        IF arr1[i1]=0
            arr1[i1]=9
            FOR i3=i1-1 TO 1 STEP  -1
                IF arr1[i3]=0
                    arr1[i3]=9
                ELSE
                    arr1[i3]=arr1[i3]-1
                    EXIT
                ENDIF
            ENDFOR
        ELSE
            arr1[i1]=arr1[i1]-1
        ENDIF
    ENDIF
    RETURN str1
ENDFUNC
2013-06-15 17:04
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
以下是引用qq402716710在2013-6-15 09:50:18的发言:

这种造成一个问题了,在长字符串转换成数值的时候,是不能完整转换的,不信你试试N=100
如果这样就太简单了

做事要尊重客观事实,编程也如此。记得我在一个帖子里曾经说过vfp的数值范围问题。任何软件处理数据都有其范围限制,不可能无限长度。所以,出这道题考你的人本身就不懂这些。
2013-06-15 23:12
qq402716710
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2013-1-14
收藏
得分:0 
回复 12楼 kiff
厉害..虽然有点地方我看不明白,明天我再慢慢看,原来真的可以实现的..只要找到规律
2013-06-17 00:05
快速回复:关于算法的问题
数据加载中...
 
   



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

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