#代码如下:
#include<stdio.h>
#include<sys/time.h>
#include<unistd.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int n,sign;
double t;
struct timeval tv1,tv2;
struct timezone tz;
printf("Please input a number(>2)\n");
scanf("%d",&n);
gettimeofday(&tv1,&tz);
for(sign=2;sign<n;sign++)
if(n%sign==0)
{
sign=1;
break;
}
gettimeofday(&tv2,&tz);
t=tv2.tv_sec-tv1.tv_sec+(tv2.tv_usec-tv1.tv_usec)*pow(10,-6);
if(sign==1)
printf("%d不是素数\n",n);
else
printf("%d是素数\n",n);
printf("程序1所用时间:%f\n",t);
gettimeofday(&tv1,&tz);
for(sign=2;sign<(int)sqrt(n);sign++)
if(n%sign==0)
{
sign=1;
break;
}
gettimeofday(&tv2,&tz);
t=tv2.tv_sec-tv1.tv_sec+(tv2.tv_usec-tv1.tv_usec)*pow(10,-6);
if(sign==1)
printf("%d不是素数\n",n);
else
printf("%d是素数\n",n);
printf("程序2所用时间:%f\n",t);
}