我最近写了这个简单的 C++ 程序,我想知道如果它在递归中是否会处理得更快。但是,我没有设法找到一种成功地以递归方式编写它的方法,所以我想问你是否可以帮助我用递归方式编写它。
#include<iostream>
using namespace std;
int main()
{
for (int i1 = 1; i1 <= 45; i1++)
{
for (int i2 = i1 + 2; i2 <= 46; i2++)
{
for (int i3 = i2 + 2; i3 <= 47; i3++)
{
for (int i4 = i3 + 2; i4 <= 48; i4++)
{
cout<<i1<<" "<<i2<<" "<<i3<<" "<<i4<<endl;
}
}
}
}
return 0;
}
最佳答案
递归可能不会让它变得更快,但会改变
cout<<i1<<" "<<i2<<" "<<i3<<" "<<i4<<endl;
到
cout<<i1<<" "<<i2<<" "<<i3<<" "<<i4<<"\n";
几乎肯定会。这是因为默认情况下 cout
将其输出存储在缓冲区中,并且只是偶尔写入(“刷新”)它。但是,如果您添加 endl
,它会立即写入缓冲区,这会比较慢。
关于c++ - 递归的想法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20151027/