题目描述:输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数即 999。import Foundation class For12Solution { func printMax(_ n: Int) { var nums = Array(repeating: "0", count: n) while !incrementNumber(&nums) { print(printPreString(nums.joined())) ...
题目描述:给定一个 double 类型的浮点数 base 和 int 类型的整数 exponent,求 base 的 exponent 次方。import Foundation class For11Solution { func power(_ b: Double,_ e: Int) -> Double { var base = b var exponent = 0 if e > 0 { exponent = e }else if e <...
题目描述:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。import Foundation class For46Solution { func addSum(_ num: Int) -> Int { var res = 0 num>0 && (res = num + addSum(num - 1)) == () return res } }算法思想:累加不能用循环的话,那就试试递归...
题目描述:输入一个整数,输出该数二进制表示中 1 的个数。class For10Solution { func findOne(_ n: Int) -> Int { var s = n var count = 0 while s != 0 { if s & 1 == 1 { count += 1 } s = s>>1 } ...