使用Lambda表达式在C ++中编写指数代码

时间:2015-10-01 21:52:43

标签: c++ lambda

如何在C ++中编写“X to the power of k”程序? (k是正整数)

我在python中做了同样的事情,这很轻松,但在C ++中,我甚至不知道从哪里开始。

2 个答案:

答案 0 :(得分:2)

  

如何在C ++中编写“X to the power of k”程序? (k是正整数)

在类似

的函数中编写一个短循环
int pow(int X, int k) {
    int result = 1;
    for(int i = 0; i < k; ++i) result *= X;
    return result;
}

在lambda中表达这一点很容易:

auto pow = [] (int X, int k) { 
     int result = 1;
     for(int i = 0; i < k; ++i) result *= X;
     return result; 
};

cout << pow(5,3);

请见working sample

答案 1 :(得分:0)

嗯,maby试试这个:

#include <iostream>
#include<cmath> //adds math functions: power, square root etc.

using namespace std;

int main(){

  int x;
  int k;

  cin >> x;
  cin >> k;

 x = pow(x, k);
 cout << "\nX to the power of k: " << x << endl << endl;

  return 0;
}