在Kotlin中,是否有可能在不使用幂函数的情况下将两个幂为for循环迭代器的数相加?



程序设计语言:KOTLIN

我正试图使一个函数,以以下方式添加两个数字。^我+ b ^在"我应该是for循环中的迭代器。所以我想让I的取值范围从1到10,然后像这样一个接一个地打印结果…例如,如果我给出的值为a=1 &B =2,则结果必须计算为…A ^1+b^1= 1^1+2^1,结果是3,所以输出结果。A ^2+b^2= 1^2+2^2,得到6,输出结果。等等,重复这个过程,直到"我";变成了10。所以我尝试了下面的代码,它只打印初始值的结果。

fun main(){
println(test(22,33))
}
fun test(a:Int,b:Int):Int{
var result1=1
var result2=1
var result3=result1+result2
for(i in 1..10){
result1*=a
result2*=b
result3=a+b
println(result3)
}
return result3
}

您只是在为result3添加函数的参数。

fun addWithIteratedPower(a: Int, b: Int) : Int {
var resultA = 1
var resultB = 1
var combinedResult = 0
for(i in 1..10){
resultA *= a
resultB *= b
combinedResult = resultA + resultB
println(combinedResult)
}
return combinedResult
}

下面是验证它的测试:

@Test
fun `should return final combined result`(){
val oneAndTwoToPowerOfTenAdded = (1.0.pow(10) + 2.0.pow(10)).toInt()
assertThat(addWithIteratedPower(1, 2)).isEqualTo(oneAndTwoToPowerOfTenAdded)
}

相关内容

  • 没有找到相关文章

最新更新