-3

我为我的作业编写了一个 c++ 程序,它计算运行一个函数所需的时间,我需要一些耗时的函数来执行,至少需要几秒钟让计算机运行它,最好是矩阵。我尝试运行的所有功能都在一秒钟或更短的时间内运行,这令人沮丧。

并且它不能在屏幕上留下一个巨大的混乱字符,比如一个 1000 x 2000 矩阵

有人告诉我,对矩阵求平方需要一些时间让计算机完成,但我不知道它是否正确或如何完成。

这是我当前的矩阵,它在不到一秒的时间内加载完毕:(

#include <iostream>
#define HEIGHT 10
#define WIDTH 20
using namespace std;

void func()
{
    char world[HEIGHT][WIDTH];
    int i, j;
    for ( i = 0; i < HEIGHT; i++ ) {
        for ( j = 0; j < WIDTH; j++ ) {
            world[i][j] = '.';
            cout << world[i][j];
        }
        cout << endl;
    }
}
4

1 回答 1

6

给定任何f没有副作用的功能,您可以通过f2以下方式降低 100 万倍的效率

void f2() { for( long i = 1;  i <= 1000000; ++i ) { f(); } }

现在,如果这还不够慢,哇哦!,来了f3

void f3() { for( long i = 1;  i <= 1000000; ++i ) { f2(); } }

等等。

但是,如果您真的想要非常低效,请查找 Ackermann 函数。


也就是说,请注意,上述方法基本上相当于执行您想要测量的任何内容,足够多次。

这就是标准方法。

于 2013-04-07T16:24:04.877 回答