您的位置:首页 > 其它

小技巧 计算程序运行时间

2012-08-02 23:55 232 查看
利用time.h头文件

例题:

计算S=1!+2!+....+n!的末六位(不含有前导0)。n<=10^6。

#include<stdio.h>
#include<time.h>
#define MOD 1000000
int main(){
	int s=0,n;
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		int fac=1;
		for(int j=1;j<=i;j++)
		   fac=fac*j%MOD;
  		s=(s+fac)%MOD;
	}
	printf("%d\n",s);
	printf("Time used=%.2lf\n",(double)clock()/CLOCKS_PER_SEC);
}


常数CLOCKS_PER_SEC和系统有关,不要直接使用CLOCK的返回值,总是除以CLOCKS_PER_SEC

管道

上述程序只是计算运行开始到结束的时间,把输入也算在内了,这里我们可以利用命令行来令其更加准确!

比如oj程序就是利用这种方式进行判分,不必人工一个个从全键盘敲打~~

在可执行程序目录下输入:

echo 100 |abc

输出为:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: