Swift 程序检查数字是否为完全立方数


如果一个整数的三次乘积等于该整数本身,则该整数为完全立方数。例如:数字 5 是一个

数字 = 125

125 = 5*5*5

这里 125 是一个完全立方数。

数字 = 98

这里 98 不是一个完全立方数。

在这篇文章中,我们将学习如何编写一个 Swift 程序来检查一个数字是否为完全立方数。

方法 1:使用用户自定义函数

要检查给定数字是否为完全立方数,我们创建一个函数,检查从 1 到 M 的每个数字,如果其中任何一个数字的立方等于 M,则该数字为完全立方数,否则不是。

算法

步骤 1 − 创建一个函数。

步骤 2 − 从 1 到 num 运行一个 for 循环。

步骤 3 − 使用 if 语句检查当前迭代器 x 的立方是否等于该数字,如果是,则返回 true。否则返回 false。

步骤 4 − 创建一个变量来存储输入数字。

步骤 5 − 将输入数字传递到函数中。

步骤 6 − 打印输出。

示例

以下 Swift 程序检查数字是否为完全立方数。

import Foundation
import Glibc

// Function to check if the number is a perfect cube or not
func checkPerfectCube(num: Int) -> Bool {
   for x in 1...num  {
      if x*x*x == num {
         return true
      }
   }
   return false
}

// Input 1
let N1 = 125
if checkPerfectCube(num: N1) {
   print("\(N1) is a perfect cube.")
} else {
   print("\(N1) is not a perfect cube.")
}

// Input 2
let N2 = 98
if checkPerfectCube(num: N2) {
   print("\(N2) is a perfect cube.")
} else {
   print("\(N2) is not a perfect cube.")
}

输出

125 is a perfect cube.
98 is not a perfect cube.

在上面的代码中,我们创建了一个名为 checkPerfectCube() 的函数来检查给定数字是否为完全立方数。此函数接收一个正整数作为输入,然后运行一个 for 循环来迭代从 1 到 num 的每个数字。在 for 循环内,检查当前迭代器“x”的立方是否等于该数字。如果是,则此函数返回 true。否则返回 false。

方法 2:使用内置函数

要检查给定数字是否为完全立方数,我们使用 cbrt() 函数查找输入值的立方根,然后查找立方根的立方。如果立方根的立方等于该数字,则该数字为完全立方数。否则不是。

算法

步骤 1 − 创建一个函数。

步骤 2 − 使用 cbrt() 函数查找输入数字的立方根。

步骤 3 − 计算立方根的立方。

步骤 4 − 如果立方根的立方和输入数字相等,则返回 true。否则返回 false。

步骤 5 − 创建一个变量来存储输入数字。

步骤 6 − 将输入数字传递到函数中。

步骤 7 − 打印输出。

示例

以下 Swift 程序检查数字是否为完全立方数。

import Foundation
import Glibc

// Function to check if the number is a perfect cube or not
func checkPerfectCube(num: Double) -> Bool {
   let cubeRoot = cbrt(num)
   let cube = cubeRoot * cubeRoot * cubeRoot

 
   // Return return if the cube is equal to num
   
   // Otherwise return false
   return cube == num
}

// Input 1
let M1 = 41.0
if checkPerfectCube(num: M1) {
   print("\(M1) is a perfect cube.")
}
else {
   print("\(M1) is not a perfect cube.")
}

// Input 2
let M2 = 512.0
if checkPerfectCube(num: M2) {
   print("\(M2) is a perfect cube.")
}
else {
   print("\(M2) is not a perfect cube.")
}

输出

41.0 is not a perfect cube.
512.0 is a perfect cube.

在上面的代码中,我们创建了一个名为 checkPerfectCube() 的函数来检查给定数字是否为完全立方数。此函数接收一个正整数作为输入,然后使用 cbrt() 函数查找该数字的立方根。然后,计算结果立方根的立方。现在检查立方根的立方是否等于输入数字。如果它们相等,则此函数返回 true,表示该数字是完全立方数。否则返回 false,表示该数字不是完全立方数。

结论

这就是我们如何检查给定数字是否为完全立方数。

更新于: 2023-02-16

631 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告