当前位置:免费教育资源网论文数学论文
关键字: 所属栏目:

用计算机在局限范围内查找趣味数

来源:人民教育出版社  作者:佚名  更新时间:2006-06-01 03:59:05   

  在国际信息奥林匹克竞赛中曾经遇到过“水仙花”、“四叶玫瑰”等十分有趣的数。所谓水仙花数又称为阿姆斯特朗数,它是指一个三位数,其各位上数字的三次幂的和仍等于这个三位数,如 。“四叶玫瑰”数是指一个四位数,其各位上的数字的4次幂的和仍等于这个四位数。如

  那么在浩瀚无穷的数字海洋里,有多少个具有类似性质的数呢?即我们能否设一“L”位数的区间[M,N]之内找出具有各个位数上的数字的L次幂的和等于这个L位数这一特征的所有数,例如:

  在区间[10000,99999](5位数)之间找出所有满足关系:

的5位数,我们姑且戏称为“五朵金花”数。

  现在我们利用计算机编程来查找局部范围内的趣味数字,采用典型的“数字分离法”,即将各个位数上的数字分离出来,再进行处理,具体步骤是;

  1.使用函数STR$(X)将所求的L位数X数替换为字符串X$

  2.使用函数LTRIM$(X$)去掉字符串X$的左边空格,并求出字符串X$的长度L=LEN(X$).

  3.使用内循环I从1到L循环L次,每次对字符串X$进行数字分离,再将结果转换成数值用一数组A(I)存放,即A(I)=VAL(MID$(X$,I1).

  4.设计一个累加器S=S+A(I)^L.

  5.判断S是否为所寻找的数并打印结果。

  现用QBASIC编程如下:

INPUT “please input number [M,N]=”;M,N

K=0

     For J=M TO N

X$ =LTRIM $(STR $ (J))

     X= VAL(X$)  

    L=LEN(X$)

REMAIN A(L)

FOR I=1 TO L

    A(I)=VAL(MID $(X $,I,1))

           S=S*A(2)^L

      NEXT I

      IF S=X THEN K=K+1

      PRINT "The total numbers:"; K

      END

     当输入100,999则显示:

     153    370   371    407

     K=4

  经过计算机的查找:

  “四叶玫瑰”数共有三个,分别是1634    8308    9474

  “五朵金花”数也有三个,分别是54748    92727    93084

  以此类推可以求出更多类似的趣味数字。       


(选自《中生数》期刊 2001年8月(上))       


文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
栏目导航
本类热门阅览
相关文章
精彩推荐