重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
看意思是输出m到n间的素数,一行5个数。
公司主营业务:成都做网站、成都网站设计、成都外贸网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出富源免费做网站回馈大家。
超时原因很多,可能n太大或者m2,代码里应该排除这些情况
for(i=a;i=b;i++)
i每次递增2,因为偶数不可能是。这样可以少一半的时间。
改动几点:
{for(j=2;j=n;j++)
{if(i%j==0) c=1;}
j 可以从3开始,每次递增2,这样可以少一半的时间。
结合下面的查表法,可以得到更好的结果。
- -
童鞋。。。你不知道递归相对于循环来说比较慢的吗。。。是使用for循环来,如果不行我就没辙了
其实 if 那一句可以改成n=1
#include stdio.h
#include windows.h
//子线程函数
char flag = 0;
char result = 0;
DWORD WINAPI longTimeFunction(LPVOID pM)
{
while(1){
printf("opreating...\n");
Sleep(20);
}
result = 1;
flag = 1;
}
//主函数,所谓主函数其实就是主线程执行的函数。
int main()
{
printf("simple multi thread,INFINITE:%d\n",INFINITE);
printf(" -- by MoreWindows( ) --\n\n");
flag = 0;
HANDLE longTimeFunctionHandle = CreateThread(NULL, 0, longTimeFunction, NULL, 0, NULL);
WaitForSingleObject(longTimeFunctionHandle, 200);
if(flag == 0){
printf("Timeout!\n");
result = -1;
}
printf("result: %d\n", result);
return 0;
}