利用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
输出为: