如何获得程序运行时间?

来源:互联网 发布:node.js买什么书 编辑:程序博客网 时间:2024/05/22 08:57

用书中阶乘之和的例子举例。

注意:n比较大时,会出现乘法溢出。方法是改成“每步取模”。

数学原理:要计算只包含加法、减法、乘法的整数表达式除以正整数n的余数,可以在每步计算之后对n取余,结果不变。


如何获得程序运行时间?

方法:可以使用time.h和clock()函数获得程序运行时间。常数CLOCKS_PER_SEC和操作系统相关,请不要直接使用clock()函数的返回值,而应总是除以CLOCKS_PER_SEC。

#include<stdio.h>#include<time.h> int main(void){const int MOD=1000000;int n,S=0;scanf("%d",&n);if(n>25)n=25; //n大于25后,末六位数字就不受影响了。for(int i=1;i<=n;i++){int factorial=1;for(int j=1;j<=i;j++){factorial=(factorial*j%MOD);}S=(S+factorial)%MOD;}printf("%d\n",S);printf("Time used=%.2f\n",(double)clock()/CLOCKS_PER_SEC);return 0;}


0 0
原创粉丝点击