編寫乙個程式,能交換兩個變數的數值
例如: 變數a值為20,變數b值為30,呼叫函式後,a的值變為30,b 的值變為20
答案: -func swap(a: inout int , b:inout int)
var x = 20 , y = 30
swap(a:&x , b:&y)
print(x,y)
編寫乙個程式,求1! + 2! + 3! + 4!的和
要求:使用巢狀定義函式實現
答案: func getsum(number: int) -> int
return
sum }
var total = 0
foritem
in1...number
return total
}print(getsum(number: 3))
古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?
答案:func getfinbonum(num: int) ->int
return (getfinbonum(num: num - 1) + getfinbonum(num: num - 2))
}for month in
1...10
列印出所有的「水仙花數」,所謂「水仙花數」是指乙個三位數,其各位數字立方和等於該數本身。例如:153是乙個「水仙花數」,因為153=1的三次方+5的三次方+3的三次方
答案 :for
number
in100...999
}
編寫乙個程式,要求可以把乙個字串中的每乙個字元,如果是大
寫字母變小寫字母,如果是小寫字母變大寫,如果是其他字元不變
例如: 字串china23beijing 經過程式轉換為china23beijing
答案:
/* 函式,將大寫字母變小寫,小寫字母變大寫,其他不變
*/func changecharcter (chnum:character) -> character
/*如果是大小寫字母,轉換數值
*///如果是大寫字母
ifnum >= 65 && num
<= 90
//如果是小寫字母
else
ifnum >= 97 && num
<= 122
/*將整數轉換為字元
*/let newchnum = character(unicodescalar(num)!)
return newchnum
}var str = "china23beijing "
var i = 0
//表示偏移量(迴圈變數初始值)
while i < str.characters.count
print(str)
編寫乙個程式,要求接收乙個數字,程式會將這個數字以二進位製方
式列印,例如:數字10 , 以1010的方式列印出來
答案 :
func binaryprintintnumber(num : int)
foritem
in remainderarr
print("")
}var a = 10
binaryprintintnumber(num: a)
print(a)
編寫乙個程式,判斷101-200之間有多少個素數,並輸出所有素數
答案:
var ispreimnum = true
//判斷是否是素數,是就是true不是就是false
var sum = 0
foritem
in101...200
}if ispreimnum
ispreimnum = true
}print(sum)}
編寫乙個程式,檢視1、2、3、4四個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?
var sum1 = 0
//定義變數用於記錄個數
for hudder in
1...4 }}
}print(sum1)
swift 日曆練習
不喜歡碼字的程式設計師有沒有,寧願多敲兩行 也不願意多寫兩個字。import foundation import uikit objc dateobject class dateobject nsobject import foundation extension nsdate return wee...
Swift 排序演算法
本文採用陣列實現。排序演算法 時間複雜度 空間複雜度 是否穩定 直接插入排序 o n 2 o 1 是希爾排序 o nlogn o 1 否氣泡排序 o n 2 o 1 是選擇排序 o n 2 o 1 否歸併排序 o nlogn o n 是快速排序 o nlogn o logn 否堆排序 o nlogn...
排序演算法(Swift)
電腦科學中,演算法的時間複雜度是乙個函式,它定性描述了該演算法的執行時間。這是乙個關於代表演算法輸入值的字串的長度的函式。時間複雜度常用大o符號表述,不包括這個函式的低階項和首項係數。使用這種方式時,時間複雜度可被稱為是漸近的,它考察當輸入值大小趨近無窮時的情況。func bubblesort ar...