我最近编写了这个简单的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;
}发布于 2013-11-22 17:57:10
递归可能不会使它更快,但会改变
cout<<i1<<" "<<i2<<" "<<i3<<" "<<i4<<endl;至
cout<<i1<<" "<<i2<<" "<<i3<<" "<<i4<<"\n";几乎肯定会。这是因为默认情况下,cout将其输出存储在缓冲区中,并且只偶尔写入(“刷新”)。但是,如果添加endl,它将立即写入缓冲区,这要慢一些。
https://stackoverflow.com/questions/20151027
复制相似问题