当前位置:网站首页>Kotlin算法入门计算水仙花数
Kotlin算法入门计算水仙花数
2022-08-11 08:01:00 【易庞宙】
/* 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位 数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方 +5的三次方+3的三次方 由于100 200 300 500 400 整百数都不是水仙花可以直接排除 而且 101 为基数的也不是水仙花可以直接排除 这样排除这两个规律的直接跳过计算 */ class Narcissus { /* 开始运行时间1524629170834 153 370 371 407 结束运行时间1524629170838 耗时:4 因为有18个跳过计算立方的方法避免了计算步骤的冗余所以运行更快了 */ fun printNarcissus() { for (i in 102..998) { if (i % 100 == 0 || i % 101 == 0) continue val j = i / 100 val k = i / 10 % 10 val z = i % 10 if (i.toDouble() == Math.pow(j.toDouble(), 3.0) + Math.pow(k.toDouble(), 3.0) + Math.pow(z.toDouble(), 3.0)) println(i) } } /** * 传统算法运行结果 * * * 开始运行时间1524629049929 * 水仙花数是:153 * 水仙花数是:370 * 水仙花数是:371 * 水仙花数是:407 * 结束运行时间1524629049949 * 耗时:21 */ fun ss() { for (number in 100..999) { val gewei = number % 10 val shiwei = number / 10 % 10 val baiwei = number / 100 % 10 if (gewei * gewei * gewei + shiwei * shiwei * shiwei + baiwei * baiwei * baiwei == number) { println("水仙花数是:$number") } } } }
边栏推荐
猜你喜欢
随机推荐
1056 组合数的和 (15 分)
1046 punches (15 points)
Write a resume like this, easy to get the interviewer
查询跟踪快递单号物流,智能分析物流中转有延误的单号
C Primer Plus(6) 中文版 第1章 初识C语言 1.7 使用C语言的7个步骤
机器学习(一)数据的预处理
租房小程序
pyqt5实现仪表盘
1.1-Regression
机器学习(三)多项式回归
分布式锁-Redission - 缓存一致性解决
初级软件测试工程师笔试试题,你知道答案吗?
string类接口介绍及应用
2022-08-10 mysql/stonedb-slow SQL-Q16-time-consuming tracking
Decrement operation in tf; tf.assign_sub()
小目标检测3_注意力机制_Self-Attention
Square, multi-power, square root calculation in Tf
分门别类输入输出,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang基本数据类型和输入输出EP03
零基础SQL教程: 主键、外键和索引 04
用 Antlr 重构脚本解释器






