当前位置:网站首页>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") } } } }
边栏推荐
猜你喜欢
随机推荐
支持各种文件快速重命名最简单的小技巧
Four operations in TF
Project 1 - PM2.5 Forecast
9、Neural Sparse Voxel Fields
经典论文-MobileNet V1论文及实践
Pico neo3 Unity Packaging Settings
关于#sql#的问题:怎么将下面的数据按逗号分隔成多行,以列的形式展示出来
string类接口介绍及应用
1002 Write the number (20 points)
1076 Wifi Password (15 points)
1.2 - error sources
机器学习(二)线性回归
研发了 5 年的时序数据库,到底要解决什么问题?
《剑指offer》题解——week3(持续更新)
少年成就黑客,需要这些技能
1.1-回归
项目1-PM2.5预测
零基础SQL教程: 基础查询 05
C语言-结构体
3.1-分类-概率生成模型