【问题标题】:Σ Calculation in iOS SDKΣ iOS SDK 中的计算
【发布时间】:2019-07-31 09:02:59
【问题描述】:

我正在开发一个必须执行计算的金融应用程序。财务团队为我提供以下计算公式,如下图所示

[![在此处输入图片描述][1]][1]

但我无法找到如何在 Swift 或 Objective-C 中执行以下操作。

     n      t-1
     Σ (1+i)
     t=1

您能帮我提供一下上述计算的想法吗?

我也读过这个link,但没有兴趣使用第三方。

【问题讨论】:

    标签: ios arrays objective-c


    【解决方案1】:

    Swift 的reduce 函数就是为此而生的:

    (1...n).reduce(0) { (currentResult, t) -> Decimal in
        currentResult + pow(1 + i, t - 1)
    }
    

    【讨论】:

      【解决方案2】:

      如果我们破解它,你必须找到 (1 + i) ^ (t -1) 的总和,其中 t 从 1 变化到 n。

      等效函数为

      func evaluteSummation(n: Int, i: Int ) -> Int {
       int sum = 0
       for t in 1...n {
         sum += pow(1 + i, t - 1)
       }
       return sum
      }
      

      【讨论】:

        【解决方案3】:

        你可以像下面这样写代码。

        func calculatePMT(targetValue : Double, interestRate : Double, time: Int) -> Double {
            let term = 1.0 + interestRate
        
            var denominator = 0.0
        
            for t in 0..<time {
                let p = pow(term, Double(t))
                denominator += p
            }
        
            return targetValue / denominator
        }
        
        
        
        let targetValue = 100000.0
        let interestRate = 5.0
        let time = 4
        
        let pmt = calculatePMT(targetValue: targetValue, interestRate: interestRate, time: time)
        
        print(pmt)
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-04-27
          • 2016-10-19
          • 1970-01-01
          • 2017-08-24
          • 2012-05-31
          相关资源
          最近更新 更多