问题描述
我接到了以下家庭作业,
I was given the following HomeWork assignment,
写一个程序在你的电脑上测试需要多长时间nlogn、n2、n5、2n 和 n!添加 n=5、10、15、20.
Write a program to test on your computer how long it takes to do nlogn, n2, n5, 2n, and n! additions for n=5, 10, 15, 20.
我已经写了一段代码,但我的执行时间总是为 0.谁能帮我解决这个问题?谢谢
I have written a piece of code but all the time I am getting the time of execution 0. Can anyone help me out with it? Thanks
#include <iostream>
#include <cmath>
#include <ctime>
using namespace std;
int main()
{
float n=20;
time_t start, end, diff;
start = time (NULL);
cout<<(n*log(n))*(n*n)*(pow(n,5))*(pow(2,n))<<endl;
end= time(NULL);
diff = difftime (end,start);
cout <<diff<<endl;
return 0;
}
推荐答案
每个计算执行数千次,循环执行,这样你就可以克服时间
的低分辨率并获得有意义的结果.报告结果时记得除以迭代次数.
Execute each calculation thousands of times, in a loop, so that you can overcome the low resolution of time
and obtain meaningful results. Remember to divide by the number of iterations when reporting results.
这不是特别准确,但这可能与此作业无关.
This is not particularly accurate but that probably does not matter for this assignment.
这篇关于使用 time() 函数计算执行时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!