关于oj问题时间超时(Time Limit Error)的解决
2017-04-15 19:53
363 查看
孪生素数问题
时间限制:3000 ms | 内存限制:65535 KB
难度:3
描述
写一个程序,找出给出素数范围内的所有孪生素数的组数。一般来说,孪生素数就是指两个素数距离为2,近的不能再近的相邻素数。有些童鞋一看到题就开始写程序,不仔细看题,咱们为了遏制一下读题不认真仔细的童鞋,规定,两个素数相邻为1的也成为孪生素数。
输入
第一行给出N(0
此当时间超时的解决方法;
先在main函数中,遍历1000000以内的孪生素数对,这样可以提交时间效率,以空间换时间。
如果通过调用函数的话,调用次数多了,时间效率就会降低。
时间限制:3000 ms | 内存限制:65535 KB
难度:3
描述
写一个程序,找出给出素数范围内的所有孪生素数的组数。一般来说,孪生素数就是指两个素数距离为2,近的不能再近的相邻素数。有些童鞋一看到题就开始写程序,不仔细看题,咱们为了遏制一下读题不认真仔细的童鞋,规定,两个素数相邻为1的也成为孪生素数。
输入
第一行给出N(0
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; int a[1000000]; int b[1000000]; int main() { int T,i,j; memset(a,-1,sizeof(a)); memset(b,0,sizeof(b)); for(i=2;i<=1000000;i++) //把1到10000000的素数都列出来 { if(a[i]) { for(j=2*i; j<=1000000; j+=i) a[j]=0; } } b[3]=1; //表示3以内的素数组为1组 for(i=4;i<=1000000;i++) { if(a[i]&&a[i-2]) //直接判断a[i]与a[i-2]即可,因为相差1距离的孪生素数对只有2和3,上面已经考虑到了 { b[i]=b[i-1]+1; } else { b[i]=b[i-1]; } } cin>>T; while(T--) { int n; scanf("%d",&n); printf("%d\n",b ); //输出n以内的孪生素数对 } }
此当时间超时的解决方法;
先在main函数中,遍历1000000以内的孪生素数对,这样可以提交时间效率,以空间换时间。
如果通过调用函数的话,调用次数多了,时间效率就会降低。
相关文章推荐
- 关于“超时时间已到”的问题,终于解决了
- 关于“超时时间已到”的问题,终于解决了
- 关于部署WCF时出现超时问题的解决
- 关于查询报表总是"超时已过期"的问题解决
- 关于php页面最大执行时间问题(set_time_limit函数在windows下不起作用的解决)
- 关于WM_NOTIFY与消息反射————耗费我两天时间才解决的问题
- zoj 3432 Find the Lost Sock(解决时间超时问题)
- 关于“超时时间已到”的问题
- 关于Asp.net超时,延长读取sql server数据库的超时时间!(已解决)
- asp.net的Web应用报“超时时间已到。在操作完成之前超时时间已过或服务器未响应”问题的解决
- 关于WM_NOTIFY与消息反射————耗费我两天时间才解决的问题
- 关于系统时间被改问题的解决办法
- “超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。”问题的解决方法
- 关于php页面最大执行时间问题(set_time_limit函数在windows下不起作用的解决)
- 关于eclipse当中的版本兼容问题(一点小问题的解决也需要大量的时间)
- 关于php页面最大执行时间问题(set_time_limit函数在windows下不起作用的解决)
- 关于SelfNumbers问题时间复杂度问题解决方案
- Java项目中超时问题解决方案汇总--解决cxf 时间 等待问题 bug~~~~
- 在从池中获取连接之前超时时间已过,所有池连接都已被使用并已达到最大池大小的问题解决方法
- 关于Highcharts的x轴密密麻麻的时间格式显示问题解决方法