我需要使用递归来总结我的进度成员。这是给出我的进度以及如何以递归方式计算总和的函数?
#include <iostream>
using namespace std;
void progressionRec(int a1, int d, int n) {
if(n <= 1){
cout << a1 << " ";
} else {
int next = a1 + d;
progressionRec(next, d, n - 1);
cout << a1 << " ";
}
}
int main()
{
progressionRec(2,3,15);
return 0;
}
答案 0 :(得分:1)
您可以通过这种方式汇总进度成员
import re
def extract_company(email):
x= re.findall(r"\@(.*?)\.", "uditvashisht@gmail.com")
return x[0]
答案 1 :(得分:0)
您可以使用函子来存储进度计数。这是一个示例实现:
#include <iostream>
using namespace std;
class progressionRec
{
public:
void operator()(int a1, int d, int n) {
++count;
if(n <= 1){
cout << a1 << " ";
} else {
int next = a1 + d;
operator()(next, d, n - 1);
cout << a1 << " ";
}
}
size_t getCount() const
{
return count;
}
private:
std::size_t count = 0;
};
int main()
{
auto func = progressionRec();
func(2,3,15);
std::cout << "\nCount:" << func.getCount() << std::endl;
return 0;
}
输出:
44 41 38 35 32 29 26 23 20 17 14 11 8 5 2
Count:15
答案 2 :(得分:0)
您需要将函数的返回类型更改为int,并在每次返回时返回总和:return a1 + progressionRec(next, d, n - 1);