在Swift中的Tech数字

在Swift中的Tech数字

如果给定的数字包含偶数个数字,并且这些数字可以从中间分成两个相等的部分。在分割数字后,将其求和并找出最终和的平方。如果平方等于和本身,则给定的数字是一个tech数字,否则不是。

在Swift中的Tech数字

示例演示

输入

3025

输出

Yes the given number is a tech number

Input

2341

输出

No the given number is not a tech number

这里,3025是一个科技数字,因为30+25 = 55 => (55)2 = 3025。而2341不是一个科技数字,因为23+41 = 64 => (64)2 = 4096。

算法

第一步 - 从用户那里获取数字。

第二步 - 计算数字中的总位数。

第三步 - 检查数字是否包含偶数位数。

第四步 - 如果是,则从中间将数字的位数分为两个相等的部分。

第五步 - 将这两个部分相加。

第六步 - 求和的平方。

第七步 - 如果和的平方等于原来的数字,则这个数字是一个科技数字。否则不是。

第八步 - 显示输出。

现在通过以下的Swift程序我们可以找到科技数字。

例子1:检查给定的数字是否是一个科技数字

在以下的Swift程序中,我们将检查给定的数字是否是一个科技数字。因此,我们将创建一个函数,它接受一个参数并返回一个布尔值,表示给定的数字是否是一个科技数字。这个函数首先检查给定数字中的总位数。如果位数是偶数,则它将从中间将数字分成两组,以便这两组包含相同数量的位数。然后它将这两组相加,然后找到和的平方。如果和的平方等于原来的数字,则这个数字是一个科技数字,否则不是。

import Foundation
import Glibc

// Function to check if the number is tech number or not
func checkTechNumber(num: Int) -> Bool {
    var number = num
    var digits = 0

    while number > 0 {
        digits += 1
        number /= 10
    }

    // If number contain even digits
    // then check the given number is tech number or not
    if digits % 2 == 0 {

        number = num

        // Dividing digits of number into two set from the
        // middle with exact number of digits in each set
        let firstHalf = number % Int(pow(10, Double(digits / 2)))
        let secondHalf = number / Int(pow(10, Double(digits / 2)))

        // Adding both the set
        let sum = firstHalf + secondHalf

        // Fiding the square of the sum 
        let square = Int(pow(Double(sum), 2))

        // If the square is equal to the number then retrun true
        return num == square
    } else {
        return false
    }
}

let myNumber = 2025
if (checkTechNumber(num:myNumber) == true) {
    print("\(myNumber) is a tech number.")
} else {
    print("\(myNumber) is not a tech number.")
}

输出

2025 is a tech number.

例子2:从1到N找到科技数字

在下面的Swift程序中,我们将找到从1到10000000(或N)之间的科技数字。因此,我们使用一个for−in循环从1到10000000遍历每个数字,并检查它是否是科技数字。如果当前数字是科技数字,则在屏幕上显示。否则,继续下一个数字。

import Foundation
import Glibc

print("Tech numbers between 1 to 10000000 are:")

for number in 1...10000000{

    // Dividing the digits of the number into two equal parts
    let firstHalf = number % 100
    let secondHalf = number / 100

    // Find the sum of the two parts
    let sum = firstHalf + secondHalf

    // Find the square of the sum 
    let square = Int(pow(Double(sum), 2))

    // Check if the square is equal to the number
    if number == square {
        print(number)
    }
}

输出结果

Tech numbers between 1 to 10000000 are:
1
2025
3025
9801
10000

现实生活中的使用

技术数字的真实生活使用方式是:

  • 技术数字被用于理解编程逻辑。

  • 初学者使用它来理解循环的工作原理。

结论

这就是我们如何在Swift中检查一个数字是否是技术数字。它对于构建编程逻辑很有用。使用上述方法,我们可以轻松找到技术数字。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程