• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[神梦] 【每日一题】水仙花数 - 2022.4.22 [复制链接]

1#
题目描述

水仙花数是指一个三位数字,其每个位置上的数字的3次方的总和刚好等于原来的数字。
请编写一个函数,给定一个数字,判断它是否为水仙花数。

【示例】
输入:153
输出:True
解释:因为153的长度是3,而1^3+5^3+3^3=153成立。


题目难度:简单
题目来源:CodeWars-Narcissistic Numbers
  1. Import "SmAssert.dll"

  2. Function 水仙花数(数字)
  3.     // 您的代码在这里
  4. End Function


  5. SmAssert 水仙花数(153) = True
  6. SmAssert 水仙花数(205) = False
  7. SmAssert 水仙花数(407) = True
  8. SmAssert 水仙花数(1024) = False
复制代码

参考题解


  1. Import "SmAssert.dll"

  2. Function 水仙花数(数字)
  3.     '【作者】:神梦无痕
  4.     '【QQ】:1042207232
  5.     '【Q群】:624655641
  6.     
  7.     Dim Result, sum, num, i, n
  8.     
  9.     sum = 0
  10.     n = Len(数字)
  11.     If n = 3 Then
  12.         For i = 1 To n
  13.             num = Int(Mid(数字, i, 1))
  14.             sum = sum + num ^ n
  15.         Next
  16.         Result = (sum = 数字)
  17.     End If
  18.     水仙花数 = Result
  19. End Function


  20. SmAssert 水仙花数(153) = True
  21. SmAssert 水仙花数(205) = False
  22. SmAssert 水仙花数(407) = True
  23. SmAssert 水仙花数(1024) = False
复制代码






插件下载

 

【插件】神梦断言插件 SmAssert.dll,帮助开发者发现业务逻辑错误

最后编辑神梦科技 最后编辑于 2022-04-22 20:33:12
2#

偷窥下答案

3#

Function 水仙花数(a)
    
    dim b=CInt(Mid(a,1,1))
    dim c=CInt(Mid(a,2,1))
    dim d=CInt(Mid(a,3,1))    

    If b^3 + c^3+d^3 = b*100+c*10+d*1 Then
        水仙花数(a) =true
        TracePrint "水仙花开"
    Else
        水仙花数(a) = False
        TracePrint "水仙花败"
    End If


End Function


TracePrint 水仙花数(153)

点评

神梦科技  👍非常棒了!水仙花数是三位数,如果不限位数的话叫自恋数字  发表于 2022/4/23 13:39:27

4#

,

好吧 比我的精简. 比我考虑的多.我只考虑到一定是三位数.

5#

过来学习一下

6#

学习学习

7#

瞧瞧大哥码

发新话题 回复该主题