Swift 3:func maximumNumber

时间:2016-10-08 20:57:30

标签: swift swift3

我在开发方面没有很好的技能,所以不要嘲笑我。但现在我做了一些测试来提高我的编码技巧,我有一些问题。在Apple开发指南,我找不到答案。

So Swift 3 title“给定一个整数n,返回包含正好n位数的最大数字”

我所知道的只是

func largestNumber(n: Int) -> Int {

实施例: 对于n = 2,输出应为 maximumNumber(n)= 99

请告诉我如何编码。

3 个答案:

答案 0 :(得分:0)

在撰写您的问题时,所有评论都认为您正在询问编码问题 - 即如何在Swift中编写此问题 - 而不是算法< / em>问题 - 即这个问题的数学/算法解决方案是什么?

正如其他人所指出的那样,SO不是为你写的东西 - 代码或算法 - 而是给你一些探索的指针是另一回事。因此,解决第二个问题,有以下几点需要探讨:

  • 如果您不知道对数的内容是什么。
  • 考虑log10(10)= 1,log10(100)= 2等,这里有一个模式。您能以某种方式将这些对数值与问题的解决方案联系起来吗?
  • 完成了最大Int值的log10可能会告诉您什么?
  • 您是否可以使用目前已确定的内容来测试n函数的参数largestNumber,以确保您能够生成有效答案(即小于或等于最大Int值?)
  • 你声明largestNumber(2) = 99,将99写为包含10的幂的公式? 999怎么样?发现一种模式?

一旦你有了算法,你就可以用Swift(或Objective-C,Basic,Java,FORTRAN,Ada,Jovial,Go,Haskell等等等)编写代码。

HTH

答案 1 :(得分:0)

我认为这对您有用

func largestNumber(digits: Int) -> Int{
    var numStr = "0"  

    for i in 0..<digits {
        //since the biggest digit in the decimal system is 9 we append that to our String
        numStr += "9"
    }

    //convert String to Int 
    return Int(numStr) ?? 0
}

答案 2 :(得分:-2)

以下是答案:

    function largestNumber(n) {
var sum="";
   for (i=0; i<n; i++)
   {
       sum+="9";
console.log(sum);
   }
    return parseInt(sum);
}